drawnow用于刷新屏幕。


   在matlab的help中可以看到,flush pending graphics events, 这就是说,将还未处理完的图像实时的显示出来,可以理解为立即执行的plot,变化的plot。

   当代码执行时间长,需要反复执行plot时,Matlab程序不会马上把图像画到figure上,这时,要想实时看到图像的每一步变化情况,需要使用这个语句。


示例:


tic

for a=1:10000

x(a)=a*4;

plot(x)

end

toc


程序运行结束后后显示出图片。

Elapsed time is 17.130576 seconds.

程序运行时间为17.13秒。

如果在你的电脑上运行时间太短,显示不出区别,那把10000改成100000(100000我等了几分钟都没结束...)


for a=1:10000

x(a)=a*4;

plot(x)

drawnow

end


程序运行时到每一步时都显示出图片。