Octave: динамическое имя файла для печати графиков в eps

#matlab #octave

#matlab #октава

Вопрос:

В цикле for я генерирую несколько графиков. В зависимости от счетчика в моем цикле for я хочу сохранить график под другим именем файла.

Я пробовал следующее, но проблема в том, что файл буквально сохраняется как «рисунки {i}.eps»… Как я могу гарантировать, что print оценивает цифры {i}? Я пробовал eval(), но в результате график был сохранен как «eval(рисунки {i}.eps»

 figures={'training.eps', 'testing.eps', ... }

for i=1:ntrials 
   % generate plot etc.

   print -deps -color figures{i};
endfor
  

Будем признательны за любую помощь..

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

1. sprintf

Ответ №1:

Рассмотрите возможность использования синтаксиса функции вместо синтаксиса команды для вашей функции печати:

 print("-deps","-color",figures{i})
  

Синтаксис команды Octave передает аргументы в виде строк

Смотрите https://www.gnu.org/software/octave/doc/v4.0.1/Commands.html#Commands

Также более краткий способ его записи:

 print(figures{i},"-depsc")