Рисунок не отображается в Cmder, вызывающем сценарий октавы

Я пытаюсь запустить октавный скрипт в Cmder. Проблема, с которой я сталкиваюсь, заключается в том, чтобы удерживать окно рисунка после выполнения скрипта. Вот весь скрипт, который я запускаю:

N=10^6;
dt=1;
beta=1.4;
mi=1.3/365;
gamma = 1/7;

I(1)=10;
S(1)=N-I(1);

for n=2:600
    I(n) = I(n-1)+dt*I(n-1)*(beta*(S(n-1)/N)-gamma-mi);
    S(n) = S(n-1)+dt*(mi*N-S(n-1)*(I(n-1)*beta/N+mi));
endfor

x=S/N;
y=I/N;
R=1-x-y;

vreme=1:1:600;
figure 1, plot(vreme,y,"r","linewidth",1.5,
    vreme,R,"g","linewidth",1.5,
    vreme,x,"b","linewidth",1.5);
axis([0 200 0 1])
leg=legend("I","R","S")
set(leg,"fontsize",15);
grid on
hold on

После запуска скрипта в octave-gui или octave-cli цифра остается. Запуск его в Cmder не работает.
Вот изображение рисунка, показывающего при открытии интерактивного режима октавы: issue

Я хотел бы, чтобы рисунок показывал вызов скрипта (как в первой команде) без перехода в интерактивный режим (скажем, с --persist). Как я могу сделать рисунок, показывающий только вызов octave C:\Users\Dusan\Desktop\SIR1.m?

Я пытался использовать pause, но это не загружает фигуру, и если я пытаюсь взаимодействовать с ней, она вылетает.


person Dušan Stokić    schedule 06.07.2021    source источник
comment
(извините за квази-пассивно-агрессивный комментарий выше, он автоматически генерируется системой, когда вы ссылаетесь на повторяющийся вопрос...)   -  person Tasos Papastylianou    schedule 06.07.2021
comment
@TasosPapastylianou Отчасти да. Я следил за вопросом и некоторыми последующими ссылками. Казалось бы, нет возможности построить фигуру, не запустив интерактивный режим. Итак, то, что я пытаюсь сделать, кажется невозможным, кроме установки pause на определенный период времени.   -  person Dušan Stokić    schedule 06.07.2021
comment
... вы пробовали waitfor( gcf ), как указано в дубликате? Это действительно канонический способ держать сценарий открытым, пока фигура не будет закрыта. Или это не то, что вы пытаетесь сделать? (если ваша цифра «пустая», попробуйте drawnow или refresh перед командой ожидания)   -  person Tasos Papastylianou    schedule 07.07.2021
comment
Да. waitfor(gcf) даже не показывает цифру, когда я запускаю ее в cmder.   -  person Dušan Stokić    schedule 07.07.2021
comment
как в, цифра появляется пустой? или как на рисунке само окно даже не всплывает?   -  person Tasos Papastylianou    schedule 08.07.2021
comment
Я установил octave v6.2.0 и Cmder v1.3.18.1106 в Windows 10 и могу подтвердить, что приведенный выше код с добавленной инструкцией drawnow; waitfor(gcf) в конце работает по назначению. Скрипт запускался следующим образом: "C:\Program Files\GNU Octave\Octave-6.2.0\mingw64\bin\octave-gui.exe" waitfortest.m. Вы делаете что-то по-другому? (PS, в моем случае drawnow на самом деле не было нужно, но я добавляю его здесь на всякий случай)   -  person Tasos Papastylianou    schedule 08.07.2021