Как я могу сбросить вывод disp в Matlab или Octave?

У меня есть программа в Октаве, которая имеет цикл - выполнение функции с различными параметрами, не чем-то, что я могу превратиться в матрицы. В начале каждого повторения я печатаю текущее использование параметров disp.

Первые разы я выполнил его, у меня были brazillion предупреждения, и затем я также получил эту печать. Теперь, когда я очистил их, я больше не вижу их. Мое предположение - то, что они застревают в буфере, и я буду видеть их, когда программа закончится или буферные заливки.

Там какой-либо путь состоит в том, чтобы вызвать сброс буфера печати так, чтобы я видел свою печать?

38
задан Nathan Fellman 14 April 2010 в 09:46
поделиться

3 ответа

Используйте fflush (stdout) и / или fflush (stderr) для очистки буфера от disp ().

45
ответ дан 27 November 2019 в 03:12
поделиться

drawow приведет к обновлению графиков, я не уверен, работает ли это и с конвейером stdout .

Вы также можете преобразовать свои операторы disp (...) в fprintf (stderr, ...) , я думаю, что stderr обрабатывается иначе, чем stdout в Octave.

0
ответ дан 27 November 2019 в 03:12
поделиться

Если я правильно понял ваш вопрос, вы можете использовать функцию дневник , чтобы вывести весь вывод сеанса в текст файл. дневник на начнет запись, а дневник выключен остановится. имя файла дневника будет использовать имя файла вместо «дневника» по умолчанию.

Это встроенная функция как в Octave, так и в MATLAB. Подробнее см. справочный дневник .


Также вы можете увеличить размер буфера октавы. В Windows вы можете сделать это в диалоговом окне Octave Properties из меню в верхнем левом углу.

3
ответ дан 27 November 2019 в 03:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: