matlab 符号函数绘制动画中坐标移动及显示问题,请高手指教~~~

来源:百度知道 编辑:UC知道 时间:2024/05/30 03:59:55
为了展示一个方波符号函数傅立叶变换后的频域波形,由于在【-100,100】范围内图像不够精细直观,我设想在保持纵轴值不变的情况下,让横轴从【-100,-90】以步长5移动到【90,100】的动画来展示出频域波形……
程序如下:

clear
syms x n;
y=symsum(heaviside(2*n+0.5+x)-heaviside(2*n-0.5+x),n,-10,10);
subplot(211)
ezplot(y,[-10.5*2.4,10.5*2.4]);
z=fourier(y)/21;
subplot(212)
ezplot(z,[-100,100]);axis tight;
pause
for i=1:38;
ezplot(z,[-100+i*5,-90+i*5]);
M(:,i)=getframe;
end
movie(M,1,1)

现在问题有三个:
1、我所编的文件在演示中纵轴会自动调节变化,又因横轴变动而不能用axis(xmin,xmax,ymin,ymax)来限制纵轴保持不变

2、在以每秒一帧的速度播放动画过程中,其坐标轴的值停留在最后x=90:100时而不随动画而变动

3、在经过傅立叶变换后,其频谱出现了复数。应该是在x=0出函数取极大值1,但所展示动画中幅度在其他自变量处存在大于1的地方,是否为其中包含了相角成分?

另外不知有没有更为优化的方法来达到我的要求……
希望各位matlab高手帮助小弟解决,先在此谢过!

第一个问题:
要设置y坐标范围用ylim([ymin,ymax])

第二个问题:
for i=1:38;
ezplot(z,[-100+i*5,-90+i*5]);
ylim([-1,1])
M(i)=getframe(gcf);
end
h2 = figure;
movie(h2,M,1,1,[0 0 0 0])

第3个问题:我换成ylim([-1,1])后发现显示的值并没有超过1,而且在0的位置是0.5?
要显示1的话可以考虑归一化

好专业!

第一个问题:
要设置y坐标范围用ylim([ymin,ymax])

第二个问题:
for i=1:38;
ezplot(z,[-100+i*5,-90+i*5]);
ylim([-1,1])
M(i)=getframe(gcf);
end
h2 = figure;
movie(h2,M,1,1,[0 0 0 0])

第3个问题:我换成ylim([-1,1])后发现显示的值并没有超过1,而且在0的位置是0.5?

好专业!