在Matlab中,我有一个对数组执行操作的循环。 我想在每次迭代时显示数组(例如使用“imagesc”),但不需要用户干预。
我可以通过在imagesc之后插入命令“pause”来强制Matlab更新显示的图形,但是需要通过按键来解除它。 如果没有“pause”命令,则在循环结束之前不会更新数字。
有没有办法在循环的每次迭代中更新数字?
答案 0 :(得分:4)
在循环中的图形代码之后尝试使用Matlab命令drawnow
。
drawnow
会导致数字窗口及其子项更新,并且 刷新系统事件队列。传入产生的任何回调 在drawow之前调度事件(例如,鼠标或键事件) 回报。
答案 1 :(得分:2)
如果drawnow
更新过快,您可以使用pause(time_in_seconds)
稍微更好地控制“帧速率”。例如,暂停0.5秒使用
for ...
% plot stuff
pause(0.5);
end