matlab
#matlab
Вопрос:
иногда я обнаруживаю, что при запуске скриптов matlab сообщения, написанные через disp(), не отображаются до завершения работы скрипта. Есть ли способ принудительно отображать сообщения во время сценария?
Комментарии:
1. Возможно, SO было бы лучшим местом для этого вопроса?
2. пробовали ли вы вместо этого printf?
3. Какая среда? Вы имеете в виду отображение вывода disp() в окне командной строки среды IDE Matlab во время просмотра его запуска, или текстовый вывод запуска -nodisplay или -nodesktop, или файл журнала, созданный с помощью diary() или -logfile, или что-то еще? Они могут вести себя по-разному; например, в файлах журналов есть буферизация.
Ответ №1:
Попробуйте использовать fprintf
функцию. Если вы каждый раз отображаете номер итерации в цикле, вместо чего-то подобного disp(['Iteration : ', num2str(i)])
, вы можете просто напечатать ту же информацию, что и
fprintf('Iteration : %un',i)
Ответ №2:
Попробуйте добавить drawnow
вызов после disp()
.
Комментарии:
1.
drawnow
влияет только на графические объекты.