matlab で fft mix radix を書くように求められましたが、その前に離散フーリエ変換を簡単な方法で実行させたいと思っています。そこで、ウィキペディアで定義されているように定義された式に従ってコードを書くことにしました。
【申し訳ありませんが、画像の投稿はまだ許可されていません】
http://en.wikipedia.org/wiki/Discrete_Fourier_transform
だから私は次のように私のコードを書きました:
%Brutal Force Descrete Fourier Trnasform
function [] = dft(X)
%Get the size of A
NN=size(X);
N=NN(2);
%====================
%Declaring an array to store the output variable
Y = zeros (1, N)
%=========================================
for k = 0 : (N-1)
st = 0; %the dummy in the summation is zero before we add
for n = 0 : (N-1)
t = X(n+1)*exp(-1i*2*pi*k*n/N);
st = st + t;
end
Y(k+1) = st;
end
Y
%=============================================
ただし、私のコードは、この Web サイトの結果とは異なる結果を出力しているようです: http://www.random-science-tools.com/maths/FFT.htm
問題がどこにあるかを正確に検出するのを手伝ってもらえますか?
ありがとうございました!
============私のコードが正しいように見えることを気にしない....