以批处理模式运行Matlab

时间:2009-12-07 04:31:36

标签: matlab command-line batch-file

在我看来,有两种方法可以在批处理模式下运行Matlab:

第一个:

unset DISPLAY  
matlab > matlab.out 2>&1 << EOF  
plot(1:10)  
print file  
exit  
EOF

第二个使用选项“-r MATLAB_command”:

matlab -nojvm -nosplash -r MyCommand   

这两个相同吗?

第一种方法中“&lt;&lt;&lt;&lt; EOF”和最后一次“EOF”是什么意思?

谢谢和问候!

1 个答案:

答案 0 :(得分:6)

第一种方法只是redirects标准输出> matlab.out和标准错误2>&1到文件matlab.out

然后它使用heredoc方式将输入传递给MATLAB(这不是特定于MATLAB的,它是一种将多行作为输入传递给命令行程序的方法)。

语法为<<后跟唯一标识符,然后是您的文本,最后是完成的唯一ID。 你可以在shell上试试这个:

cat << END
some
text
multiple lines
END

使用-r选项的第二种方法启动MATLAB并执行立即传递的语句。它可能是一些命令或路径上找到的脚本或函数的名称。 它等同于:

python -c "print 'hello world'"

有关其他启动选项的列表,请参阅此page