Октавная печать в командной строке

#matlab #console #octave

#matlab #консоль #октава

Вопрос:

Используя Octave GUI, мы можем легко печатать на консоли, например, через:

 disp('Print this');
  

Однако, что, если я хочу выполнить печать на консоли за пределами консоли Octave GUI? Я знаю, что могу запустить Octave без графического интерфейса, но меня это не интересует. Я хочу использовать Octave, работающий через графический интерфейс, чтобы открыть новую консоль (например, в Windows через cmd) и распечатать на этой консоли.

Комментарии:

1. Какова ваша цель? Что вы хотите заархивировать?

Ответ №1:

Определите функцию dispcmd и вызовите ее вместо disp .

 function dispcmd(in)
    fid = fopen('temp-disp', 'w t');
    fdisp(fid, in);
    fclose(fid);
    system('start cmd /Q/C "type temp-disp amp;amp; pause>nul"');
end
  

Комментарии:

1. Теперь, если я вызову это несколько раз в моем скрипте Matlab, он каждый раз открывает новое cmd-приглашение. Что, если я хочу продолжать записывать в тот же самый?

2. Извините за поздний ответ. Это не тривиальная задача Octave, и я думаю, что для этого требуется вызвать некоторые функции Win32 API из c / c .