excel 中函数输入的总和
Summation of function inputs in excel
一直在玩傅里叶级数,准确的说是快速傅里叶变换
这些是我待制作图形的参数坐标。 (稍后我会对此进行解释)
x,y,z 有列表输入,如下所示:
这里,t 从 0 到 1 变化
基本上 x[1] 所做的是从 table 中选择 first 元素(这是一个 desmos table 和项目选择协议)
我想做的事情:
我想让 excel sheet 做同样的事情。简而言之,我想找到函数 a*f(b*t+c) 从 (n=1) 到 (n=1000) 的总和 [其中 a、b 和 c 是在 x、y、z 中给出的变量sheet 和 f 是正弦或余弦函数] 在单个单元格中使用尽可能少的公式以均匀间隔的时间间隔。
我目前所做的和遇到的问题:
使用 x,y,z 输入创建 excel sheet ;我坚持如何毫不费力地实现求和,我知道如何以小至 0.00...01 的间隔取得进展并将其放在 sheet 上,但我无法实现求和,以便我直接得到 table 形式的 (x,y)。我想的是为 dt=0.1 手动执行此操作,即保持 t 固定但 x、y、z 进行,然后找到所有输出的总和,但以这种方式 ( x,y) 非常不精确,显然如果有人有变通办法的话,手动为 t=0.00001 做这件事就不会那么聪明了。
为了清晰起见,示例数据集:
在这里,我想直接使用 第 17 行。
以下是我对 dt = 0.001(1001 参数坐标)采取的步骤:
- 将x1,y1,z1数据放入
A2:C1001
- 将 t 的值放入从
E2
开始的第 E
列
- 在公式 > 名称管理器中,创建以下变量:
x
= 2*PI()*TRANSPOSE($A:$A01)
; y
= TRANSPOSE($B:$B01)
; z
= PI()*TRANSPOSE($C:$C01)/180
- 列
F
将保存参数坐标的第一个维度。 Select F2:F1002
并输入此 CSE 公式(使用 Ctrl
+ Shift
+ Enter
):=MMULT(y*cos(x*E2:E1002+z),--(ROW(A2:A1001)>0))
- 列
G
将保存参数坐标的第二个维度。 Select G2:G1002
并输入此 CSE 公式:=MMULT(y*sin(x*E2:E1002+z),--(ROW(A2:A1001)>0))
更新:
不需要 CSE 的第 4 步和第 5 步的更简单公式(另外,这不需要在命名范围定义中使用 TRANSPOSE
):
- 在
F2
中:=SUMPRODUCT(y,COS(x*$E2+z))
,然后往下填
- 在
G2
中:=SUMPRODUCT(y,SIN(x*$E2+z))
,然后往下填
一直在玩傅里叶级数,准确的说是快速傅里叶变换
这些是我待制作图形的参数坐标。 (稍后我会对此进行解释)
x,y,z 有列表输入,如下所示:
这里,t 从 0 到 1 变化
基本上 x[1] 所做的是从 table 中选择 first 元素(这是一个 desmos table 和项目选择协议)
我想做的事情: 我想让 excel sheet 做同样的事情。简而言之,我想找到函数 a*f(b*t+c) 从 (n=1) 到 (n=1000) 的总和 [其中 a、b 和 c 是在 x、y、z 中给出的变量sheet 和 f 是正弦或余弦函数] 在单个单元格中使用尽可能少的公式以均匀间隔的时间间隔。
我目前所做的和遇到的问题:
使用 x,y,z 输入创建 excel sheet ;我坚持如何毫不费力地实现求和,我知道如何以小至 0.00...01 的间隔取得进展并将其放在 sheet 上,但我无法实现求和,以便我直接得到 table 形式的 (x,y)。我想的是为 dt=0.1 手动执行此操作,即保持 t 固定但 x、y、z 进行,然后找到所有输出的总和,但以这种方式 ( x,y) 非常不精确,显然如果有人有变通办法的话,手动为 t=0.00001 做这件事就不会那么聪明了。
为了清晰起见,示例数据集:
在这里,我想直接使用 第 17 行。
以下是我对 dt = 0.001(1001 参数坐标)采取的步骤:
- 将x1,y1,z1数据放入
A2:C1001
- 将 t 的值放入从
E2
开始的第 - 在公式 > 名称管理器中,创建以下变量:
x
=2*PI()*TRANSPOSE($A:$A01)
;y
=TRANSPOSE($B:$B01)
;z
=PI()*TRANSPOSE($C:$C01)/180
- 列
F
将保存参数坐标的第一个维度。 SelectF2:F1002
并输入此 CSE 公式(使用Ctrl
+Shift
+Enter
):=MMULT(y*cos(x*E2:E1002+z),--(ROW(A2:A1001)>0))
- 列
G
将保存参数坐标的第二个维度。 SelectG2:G1002
并输入此 CSE 公式:=MMULT(y*sin(x*E2:E1002+z),--(ROW(A2:A1001)>0))
E
列
更新:
不需要 CSE 的第 4 步和第 5 步的更简单公式(另外,这不需要在命名范围定义中使用 TRANSPOSE
):
- 在
F2
中:=SUMPRODUCT(y,COS(x*$E2+z))
,然后往下填 - 在
G2
中:=SUMPRODUCT(y,SIN(x*$E2+z))
,然后往下填