在for循环中,我生成了多个图。根据我的for循环中的计数器,我想将绘图保存为其他文件名。

我尝试了以下操作,但是问题是,该文件实际上是保存为“figures {i} .eps” ...我如何确保打印结果评估图形{i}?我已经尝试过eval(),但是导致该图被另存为“eval(figures {i} .eps”)

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

for i=1:ntrials
   % generate plot etc.

   print -deps -color figures{i};
endfor

任何帮助,将不胜感激..

最佳答案

考虑为打印功能使用函数语法而不是命令语法:

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

八度命令语法将参数作为字符串传递

参见https://www.gnu.org/software/octave/doc/v4.0.1/Commands.html#Commands

也是一种更简洁的编写方式:
print(figures{i},"-depsc")

关于matlab - Octave :动态文件名,用于将图打印到eps,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40137155/

10-11 09:21