同样的程序,在学校的Matlab6.0可以画出所有图像,而在Matlab7.6中画不出振幅和相位。(注:Matlab6.0中没有heaviside函数,我添加了。在Matlab7.6中含有heaviside函数,这个函数应用是正确的。)clearclcT=0.02;t=-10:T:10;N=200;W=4*pi;k=-N:N;w=k*W/N;f1=heaviside(t+1)-heaviside(t-1);%f(t)F=T*f1*exp(-j*t'*w);%f(t)的傅里叶变换F1=abs(F);P1=angle(F);subplot(3, 1, 1); plot(t, f1);axis([-3, 3, -0.1, 1.2]);ylabel('f(t)');xlabel('t'); title('f(t)'); gridsubplot(3, 1, 2);plot(w, F1);axis([-3*pi,3*pi,-0.01,2.1]);grid; ylabel('振幅');subplot(3, 1, 3); plot(w, P1*180/pi);grid; axis([-3*pi,3*pi,-200,200]);xlabel('w'); ylabel('相位(度)');请问解决方法~谢谢了~
|