我有一組描述複平面中閉合曲線的點,稱之爲Z = [z_1, ..., z_N]
。我想插入這條曲線,並且由於它是週期性的,所以三角插值似乎是一個自然的選擇(尤其是因爲它的精度提高了)。通過執行FFT,我們得到的傅里葉係數:爲什麼在執行離散傅里葉逆變換時將索引視爲連續變量不起作用?
F = fft(Z);
在這一點上,我們可以得到Z
回由式(其中1i
是虛數單位,我們用(k-1)*(n-1)
因爲MATLAB索引從1開始)
N
Z(n) = (1/N) sum F(k)*exp(1i*2*pi*(k-1)*(n-1)/N), 1 <= n <= N.
k=1
我的問題
有什麼理由n
必須爲整數?大概,如果我們將n
視爲1和N之間的任何實數,我們將只在插值曲線上得到更多點。 這是真的嗎?例如,如果我們想雙倍積分的數量,我們可以不設置
N
Z_new(n) = (1/N) sum F(k)*exp(1i*2*pi*(k-1)*(n-1)/N), with n = 1, 1.5, 2, 2.5, ..., N-1, N-0.5, N
k=1
?
新的點當然只是受到一些插值錯誤的影響,但它們會相當準確,對嗎? 我問這個問題的原因是因爲這種方法不適合我。當我試圖做到這一點時,我得到了一些亂七八糟的問題,這是毫無意義的。
(順便說一句,我知道我可以使用interpft()
命令,但我想只有在曲線的某些區域z_a
和z_b
之間添加點,例如)
哦,這是一個很好的答案。非常感謝! (我知道後續問題有時很煩人,但是,)你能否建議一種方法來添加點,就像我試圖以實際工作的方式在這裏做的那樣? – Alex
答案是肯定的,你可以添加點,並在這些離散頻率上插入。如果您有可以用這種形式寫入的節點(即,以某種方式均勻間隔),請查看'czt'函數。否則,你正在尋找的可能是一個非統一的FFT。 – CKT