问题描述
我一直在玩傅里叶级数,确切地说是快速傅里叶变换。
这些是我要制作的图形的参数坐标。 (我将在稍后说明)
x,y,z具有如下所示的列表输入:
在这里,t在0到1之间变化
x [1]基本上是从表中选择 first 元素(这是desmos表和项目选择协议)
我要做什么: 我想做一个Excel表做同样的事情。简而言之,我想从函数a * f(b * t + c)的(n = 1)到(n = 1000)中求和[其中,a,b和c是在x,y,z中给出的变量电子表格,f是正弦或余弦函数],使用最少数量的公式在单个单元格中以均匀间隔的时间间隔。
我到目前为止所做的事情和面临的问题:
用输入x,y,z创建一个Excel工作表;我被困在如何轻松进行求和的过程中,我知道如何以小至0.00 ... 01的间隔使t进行进度并将其放在表上,但是我无法实现求和我直接得到表格形式的(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的值从
E
开始放入列E2
- 在“公式”>“名称管理器”中,创建以下变量:
x
=2*PI()*TRANSPOSE($A$2:$A$1001)
;y
=TRANSPOSE($B$2:$B$1001)
;z
=PI()*TRANSPOSE($C$2:$C$1001)/180
- 第
F
列将保存参数坐标的第一维。选择F2:F1002
并输入此CSE公式(与Ctrl
+Shift
+Enter
一起提交):=MMULT(y*cos(x*E2:E1002+z),--(ROW(A2:A1001)>0))
- 第
G
列将保存参数坐标的第二维。选择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))
,然后填写