在我看来,有两种方法可以在批处理模式下运行 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/