回 帖 发 新 帖 刷新版面

主题:[讨论]DFt的问题?

我求一个DFT的算法,程序如下:
dt=0.04;
t=0:dt:1;
f=30;
M=2.5;
a=2*f^2*log(M);
x=exp(-a*t.*t).*sin(2*pi*f*t);
N=length(t);
W=exp(-j*2*pi/N);
X=zeros(1,N);
for k0=0:N-1;
    for n=0:N-1;
        X(k0)=X(k0)+x(n).*W^(n.*k0);     //错误行
    end
end
它提示有这样是错误:??? Attempted to access X(0); index must be a positive integer or logical.

Error in ==> DFT at 13
        X(k0)=X(k0)+x(n).*W^(n.*k0);
这是为什么啊??[em18][em18]

回复列表 (共2个回复)

沙发

多去看看书
再学习下英语

mat里面的数组是编号是从 1 开始的

板凳

dt=0.04;
t=0:dt:1;
f=30;
M=2.5;
a=2*f^2*log(M);
x=exp(-a*t.*t).*sin(2*pi*f*t);
N=length(t);
W=exp(-j*2*pi/N);
X=zeros(1,N);
for k0=1:N ;
    for n=1:N;
        X(k0)=X(k0)+x(n).*W^(n.*k0);    
    end
end

我来回复

您尚未登录,请登录后再回复。点此登录或注册