poster
2019-12-10, 20:42
我对MATLAB非常陌生,我试图显示一些计算的实时图。我有一个N大小的向量,并且一次处理m值(例如m = N/4 ),所以我想绘制第一个m值,然后在计算出第二个m值后立即将它们替换为第一个图。
我的方法如下:
for i=1:N, ... //compute m ... plot(m); end; 但它无法在每个循环中更新绘图,并等待所有循环完成以绘制数据。我的问题是:我应该使用另一个函数代替plot还是在每个循环中添加一些延迟?
我认为一定有一种我不知道的方法来更新情节,而不是每次都重新绘图。
回答:
您可以添加对DRAWNOW的调用以强制更新图。请参阅参考页 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/drawnow.html) 。请注意, DRAWNOW导致刷新图形事件队列,这可能导致执行回调等。
更多&回答... (https://stackoverflow.com/questions/3115833)
我的方法如下:
for i=1:N, ... //compute m ... plot(m); end; 但它无法在每个循环中更新绘图,并等待所有循环完成以绘制数据。我的问题是:我应该使用另一个函数代替plot还是在每个循环中添加一些延迟?
我认为一定有一种我不知道的方法来更新情节,而不是每次都重新绘图。
回答:
您可以添加对DRAWNOW的调用以强制更新图。请参阅参考页 (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/drawnow.html) 。请注意, DRAWNOW导致刷新图形事件队列,这可能导致执行回调等。
更多&回答... (https://stackoverflow.com/questions/3115833)