【原创】Matlab绘图什么时候会自动刷新屏幕
(2009-08-27 10:46:03)
标签:
matlab技术论坛下载安装资料教程视频杂谈 |
分类: MATLAB |
本帖由Matlab技术论坛原创,原帖参见 http://www.matlabsky.com/thread-702-1-9.html
由于屏幕刷新相对而言很消耗时间,因此Matlab并不总是在每个图形命令之后都刷新屏幕。另外绘图速度还与图形数据的大小,erasemode、doublebuffer、renderer、backingstore等属性有关。
关于绘图速度问题的讨论,感兴趣的网友可以参见:
我们举一个简单的例子,例如,如果我们在Matlab提示符“>>”下逐个输入下面命令,Matlab就会在执行每条绘图命令(plot、axis和grid)的时候都刷新屏幕:
>>
x=0:0.1:6*pi;
>> y=sin(x);
>> plot(x,y)
>> axis([0 6*pi -1.5 1.5])
>> grid on
但如果我们将这些命令在同一行输入时,例如:
>>x=0:0.1:6*pi;y=sin(x);plot(x,y);axis([0 6*pi -1.5 1.5]);grid on
那么Matlab只是对屏幕进行刷新一次。另外,如果将上述命令放在一个M文件中,那么Matlab也是只是刷屏一次。
总的来说,在Matlab中,以下6中情况可能导致刷新屏幕:
1.在命令窗口输入新的绘图命令或绘图操作
2.遇到一个临时终止的函数,比如pause、keyboard、input和waitforbuttonpress等
3.执行一个getframe命令
4.执行figure命令
5.重新设置图形窗口大小
6.执行drawnow命令
注意:drawnow命令可以在任何时候强制Matlab刷新屏幕。