登录论坛

查看完整版本 : [求助]Matlab循环绘图


鱼鹰
2008-09-03, 14:09
求助:Matlab循环绘图,为何我只能得到最后一条曲线,请高手指点一下,程序如下:

clf;
b=exp(-5*2*10^2*i);
c=exp(-5*17*4*pi^2*i/40^2);
t0=0:1:600;
z0=zeros(size(t0));
G=zeros(1,20);
A0=abs(ifft(c*fft(b*exp(-1*(t0-300).^2/(2*40^2)))));
z1=5*ones(size(t0));
A1=abs(ifft(c*fft(b.*A0)));
plot3(z1,t0,A1)
Ak=A1;
p=2;
for k=2:1:20
if p<20
zp=k*z1;
Ap=abs(ifft(c*fft(b.*Ak)));
plot3(zp,t0,Ap);
Ak=Ap
p=p+1;
end
end
xlabel('z(km)');ylabel('t(ps)');axis([0 100 0 600 0 1]);

本想把中间值存入数组的但不知该如何实现,请高手帮忙看看

fanxing39
2008-09-03, 22:11
你在语句中加入 hold on 试下

remnant
2008-09-04, 09:30
plot( ........... );
hold all;
plot( ........... );
hold all;
==============
hold on 会让每根线完全一样,完成后无法区分。

hitzhjtopku
2008-09-04, 09:55
你没有适用HOLD ON等命令 后面的线把前门的线覆盖了

somnambulate
2008-09-07, 16:38
在第一个,绘图命令后,加上:hold on,
如果图很多,分不清的话,你的图得出顺序应该知道吧。如果知道,可以:insert----legend,即显示标签,标签中的顺序,和绘图的先后顺序是一样的。这样,就可以分辨出。你看怎么样。

liubo66
2008-09-22, 08:57
缺少hold on命令