如何用matlab实现图像随时间是动态变化的?部分程序如下

for t=0:5
ug=0;
ua=-(kx*omg/f)*cos(kz*z).*cos(kx*x-omg*t) ;
vg=-kx*cos(kz*z).*sin(kx*x-omg*t);
va=-(kx*beta/f)*cos(kz*z).*sin(kx*x-omg*t);
u=ug+ua;
v=vg+va;
w=(kz*omg*f/n2)*sin(kz*z).*sin(kx*x-omg*t);
quiver3(x,y,z,u,v,w,1.5)
end

同样不明白你的程序是什么意思。
不过实现图像随时间变化很容易,使用pause函数后重画就可以了。
while i=1:100
%这是你要画的图像(一般还得与i有关)

pause(1)
end追问

首先谢谢你。我再解释下,这段画出来的是速度场的空间分布。我这段中的t应该就是起到了i的作用吧?因为uvw都是随着t变化的,我试过了pause,貌似不行。但是从理论上讲应该是可以的,算一次值画一张图,暂停一下,再接着算下一个时次,再画。也试过pause后面用drawnow,看不出变化。

追答

那你应该把i变成t..
啊顺便我说错了。。应该是for t=1:100
for后面接的一般就是时间变量了
pause后不需要接draw now..循环体里面用一次pause就可以(放在开头或者结尾),不用考虑那么多

追问

好的,谢谢!

好的,谢谢!

好的,谢谢!

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-19
你不是都有代码了,想问什么?追问

这段画出来的是静态的

相似回答