私は、Matlabを使用してフーリエ空間で微分方程式を解いています。しかし、私は問題があります。私の実際の信号を差別化した後、私は複雑な答えを得ます(これは間違っています)。フーリエ空間での微分による相違
はx
(フーリエ空間におけるik
乗算)上diffirentiation有する例を考える:
a=rand(6,1).';
fr=fftshift(-3:1:2);
ifft(1i*fr.*fft(a))
出力は複雑です。私はなぜそれが起こるかを考えました:私たちの周波数スペクトルは-3,-2,-1,0,1,2
です。したがって、最も高い周波数のペアはありません(-3がありますが、3はありません)。私はそれを修正する方法が不思議です。
私たちはそれについて考えると、最高頻度から技術的に非ゼロ寄与があります。
(c0/2)*i*(-k)*exp(-ikx)+(c0/2)*i*(k)*exp(ikx)=kc0*sin(kx)
私は好奇心、どのように実装する:周波数のフーリエ振幅が-3分化した後、我々が得るように、現実には、我々は、周波数-3と3の振幅c0/2
を持っていることを、意味c0
であれば、正しい差別化。私の問題は2Dだから、私はfft2とifft2を使う。しかし、問題は同じ起源です。
おかげ
ありがとう!私はいつもドメイン[-N、N]の頻度を扱いました。このメソッドは機能するかもしれません。私はちょうど理解していない、なぜあなたは1-exp(i * 2pi * n/N)でそれを掛けなければならないのですか?これが説明されているリンクがありますか? –
@Mikhail答えのリンクを参照してください。これは、信号の(循環的に)シフトされたバージョンのDFTを指示します。あなたを差別化するには、1マイナスが必要です –
ありがとう、ありがとう。 –