我有一个数组 y[x], x=0,1,2,...,10^6,用 y(10^6)=y(0) 描述周期信号,我想计算它的导数 dy/ dx 用一个快速的方法。
我尝试了光谱差分法,即
dy/dx = inverse_fourier_transform ( i*kfourier_transform(y)[k] ) ....(1)
并且结果与 (y[x+1]-y[x-1])/2 不同,即由有限差分法建议。
两者哪个更准确,哪个更快?还有其他类似的方法吗?
以下是理解结果差异的努力:
如果将 (1) 中的fourier_transform 和inverse_fourier_transform 的总和展开,则可以将dy/dx 表示为y[x] 与系数a[x] 的线性组合。我计算了这些系数,它们似乎是 1/n(当数组的长度变为无穷大时),n 是到检查导数的距离。与仅使用两个相邻点的有限差分方法相比,光谱差异是高度非局部的……我对这个结果是否正确,如果是,如何理解?