MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]matlab画图时如何显示动态轨迹 (https://www.labfans.com/bbs/showthread.php?t=6408)

sirius_wang 2009-02-15 02:20

[求助]matlab画图时如何显示动态轨迹
 
部分代码如下:
for n=1:nt

up = shift('+1',u) ;
um = shift('-1',u) ;

u=u + dt/(dx*dx)*(up+um-2*u) ;

if mod(n,5) == 0



plot(x,[u' u0']);axis(rect);
legend('schema explicite','donnee initiale');
end

end

uexacte=zeros(1,nx);
for i=1:nx
for j=1:nx
uexacte(i)=uexacte(i)+u0(j)*noyau((i-j)*dx,Tfinal)*dx;
end
end

plot(x,[u' u0' uexacte']);axis(rect);
legend('schema explicite','donnee initiale','solution exacte');
title(['schema explicite ','cfl=',num2str(cfl)]);

现在运行结果最后总是只有一个最后三根线的图,for循环里的画图语句等于没用。如果我添加hold('all')可以看见所有的线但是是最后一下显示出来的,但我想能不能在for循环的时候每画一根就显示一根,然后下一根的时候自动擦掉上一根线,然后这样逐渐逼近到最后的图而不是等全部计算完一下子显示出结果。

新手上路,望指点:)谢谢!

happyzy 2009-03-13 23:40

回复: [求助]matlab画图时如何显示动态轨迹
 
在绘图完毕后,加入一段延时
如:

pause(0.1);


所有时间均为北京时间。现在的时间是 03:29

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.