Отображать изображения в цикле без вмешательства пользователя - PullRequest
4 голосов
/ 26 января 2012

В Matlab у меня есть цикл, который выполняет операции над массивами.Я хотел бы отображать массив на каждой итерации (например, используя «imagesc»), но без необходимости вмешательства пользователя.

Я могу заставить Matlab обновить отображаемую фигуру, вставив команду «pause» после imagesc,но это должно быть отклонено нажатием клавиши.Без команды «пауза» рисунок не обновляется до конца цикла.

Есть ли способ обновить рисунок на каждой итерации цикла?

Ответы [ 2 ]

4 голосов
/ 26 января 2012

Попробуйте использовать команду Matlab drawnow после графического кода в цикле.

drawnow вызывает обновление окон фигур и их потомков, и сбрасывает очередь системных событий. Любые обратные вызовы, созданные входящими события (например, события мыши или клавиши) отправляются перед рисованием возвращается.

2 голосов
/ 27 января 2012

Если drawnow обновляется слишком быстро, вы можете немного лучше контролировать «частоту кадров» с помощью pause(time_in_seconds). Например, чтобы сделать паузу на 0,5 секунды, используйте

for ...
   % plot stuff
   pause(0.5);
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...