matlab - 以批处理模式运行 Matlab

标签 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   

这两个是等价的吗?

第一种方法中的“<< EOF”和最后一个“EOF”是什么意思?

谢谢和问候!

最佳答案

第一种方法很简单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获取其他启动选项的列表。

关于matlab - 以批处理模式运行 Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1857825/

相关文章:

java - 如何从java执行批处理文件?

matlab - 使用 Matlab/Octave 绘制字符模式(shell)图?

matlab - 如何在 Matlab 的多维数组中应用 corr2 函数?

matlab - 如何在Matlab中设置数组中每行(或列)的最小值?

MATLAB。用平均值替换缺失值

shell - 我可以使用哪些 Haskell 习语在命令行中实现实时查找自动完成?

windows - 如何在 Windows 上停止 mongodb 服务器?

python - bat 文件在使用 Python 的另一个文件夹中时不运行

windows - if语句麻烦

text - 使用 'diff' (或其他任何内容)获取文本文件之间的字符级差异