matlab做傅立叶变换用MATLAB做傅立叶变换,频谱图像不正确 T=4;N=400;t=linspace(-T/2,T/2-T/N,N)';x=sin(pi*t)./(pi*t);h=cos(100*pi*t);y=x+h;z=y+0.5*y.^2;OMG=16*pi;K=200;omg=linspace(-OMG/2,OMG/2-T/N,K)';Z=0*OMG;for k=1:KZ(k)=0

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 13:45:59

matlab做傅立叶变换用MATLAB做傅立叶变换,频谱图像不正确 T=4;N=400;t=linspace(-T/2,T/2-T/N,N)';x=sin(pi*t)./(pi*t);h=cos(100*pi*t);y=x+h;z=y+0.5*y.^2;OMG=16*pi;K=200;omg=linspace(-OMG/2,OMG/2-T/N,K)';Z=0*OMG;for k=1:KZ(k)=0
matlab做傅立叶变换
用MATLAB做傅立叶变换,频谱图像不正确
   T=4;
N=400;
t=linspace(-T/2,T/2-T/N,N)';
x=sin(pi*t)./(pi*t);
h=cos(100*pi*t);
y=x+h;
z=y+0.5*y.^2;
OMG=16*pi;
K=200;
omg=linspace(-OMG/2,OMG/2-T/N,K)';
Z=0*OMG;
for k=1:K
Z(k)=0;
for n=1:N
    Z(k)=Z(k)+T/N*z(n)*exp(-j*om
g(k)*t(n));

end
end
zs=0*t;
for n=1:N
zs(n)=0;
for k=1:K
    zs(n)=zs(n)+OMG/2/pi/K*Z(k)*exp(j*omg(k)*t(n));
end
end 
plot(omg,Z)

matlab做傅立叶变换用MATLAB做傅立叶变换,频谱图像不正确 T=4;N=400;t=linspace(-T/2,T/2-T/N,N)';x=sin(pi*t)./(pi*t);h=cos(100*pi*t);y=x+h;z=y+0.5*y.^2;OMG=16*pi;K=200;omg=linspace(-OMG/2,OMG/2-T/N,K)';Z=0*OMG;for k=1:KZ(k)=0
t=linspace(-T/2,T/2,N)';

这一行这样改就可以.

按原来的写法,t里会出现一个0,带入exp函数后导致出错.