function Xk=mydft(xn)
N=length(xn); %数组xn的长度
n=0:N-1
k=0:N-1
nk=n'*k; %核心
Wn=exp(-j*2*pi/N);
Wnnk=Wn.^nk; %Wn只是一个系数
Xk=xn*Wnnk';
%还可以写为 Xk=Wnnk*xn'; %此时的Xk是列向量
stem(n,abs(Xk),'fill')
-----------------------------------------------------
function Xk=mydft(xn)
N=length(xn);
n=0:N-1
k=0:N-1
nk=n'*k;
Wn=exp(-j*2*pi/N);
Wnnk=Wn.^nk;
Xk=xn*Wnnk';
stem(n,Xk,'fill')
--------------------------------------------------------
function Xk=myidft(Xk)
N=length(Xk);
n=0:N-1
k=0:N-1
nk=n'*k;
Wn=exp(j*2*pi/N);
Wnnk=Wn.^nk;
xn=Xk*Wnnk'/N;
stem(n,xn,'fill')
N=length(xn); %数组xn的长度
n=0:N-1
k=0:N-1
nk=n'*k; %核心
Wn=exp(-j*2*pi/N);
Wnnk=Wn.^nk; %Wn只是一个系数
Xk=xn*Wnnk';
%还可以写为 Xk=Wnnk*xn'; %此时的Xk是列向量
stem(n,abs(Xk),'fill')
-----------------------------------------------------
function Xk=mydft(xn)
N=length(xn);
n=0:N-1
k=0:N-1
nk=n'*k;
Wn=exp(-j*2*pi/N);
Wnnk=Wn.^nk;
Xk=xn*Wnnk';
stem(n,Xk,'fill')
--------------------------------------------------------
function Xk=myidft(Xk)
N=length(Xk);
n=0:N-1
k=0:N-1
nk=n'*k;
Wn=exp(j*2*pi/N);
Wnnk=Wn.^nk;
xn=Xk*Wnnk'/N;
stem(n,xn,'fill')