Как я могу распечатать график октавы в файл .pdf из командной строки Windows?

#cmd #command-line #octave

#cmd #командная строка #октава

Вопрос:

Я пытаюсь передать некоторые данные в octave, записав в командную строку Windows из python в одной строке, но я получаю сообщение об ошибке. Я нашел несколько примеров кода на https://octave.org/doc/v4.4.0/Printing-and-Saving-Plots.html и я сделал однострочную вариацию этого в соответствии с моими потребностями:

 f=figure('Visible','off');plot([1,2,3,4]);pause(1);print(f,"myplot.pdf","-dpdflatexstandalone");
  

когда я запускаю эту строку в самой octave, она работает безупречно, и я могу найти файл с именем myplot-inc.pdf в папке octave (в будущем он будет в другом месте, как только я действительно заставлю код работать). Однако, когда я запускаю его из командной строки с помощью

 octave --silent --persist --eval f=figure('Visible','off');plot([1,2,3,4]);pause(1);print(f,"myplot.pdf","-dpdflatexstandalone");
  

это выдает эту ошибку:

 error: 'test_plot' undefined near line 1 column 60
  

Я хотел бы в конечном итоге запустить его без опции —persist , возможно, даже используя -W, чтобы предотвратить открытие octave, если это вообще возможно. На данный момент, как я могу заставить этот код работать из командной строки так же, как он работает в octave?

Ответ №1:

Я довольно быстро понял, почему это произошло. поскольку я запускаю из командной строки, мне приходится использовать одинарные кавычки вокруг ‘myplot.pdf’ и ‘-dpdflatexstandalone’ вместо двойных кавычек.