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
程序运行时到每一步时都显示出图片。