我一直比较喜欢 Matlab 强大的数据处理能力和画图能力。所以很多数据处理部分和画图部分,我都是用Matlab来解决的。但是在很多情况下我们希望在bash shell script里执行Matlab的脚本。帮我们处理数据其他工具得到的数据,比如分析NS2的trace文件。这个可以通过如下的命令实现
matlab -nodesktop -nosplash - nojvm -r "[command];"
% command可以是script 但不需要添加后缀名.m
这句话的意思是最小化不加载图形界面打开Matlab并在命令提示符后输入command。
为了脚本文件有更强的适应性,我们希望传递参数给这个script。比如脚本中有这样一命令
y=sin(x)
我们可以在运行脚本之前传递一个值 2 给变量x。只需要在开关 -r 后面添加x=2即可,
matlab -r "x=2;script"
另一种在shell里传递参数的方法,是用函数来实现,而不要用脚本。函数文件如下
function y = myfunc(x)
y = sin(x);
shell中执行
matlab /r "myfunc(2)"
第三种方法是把要传递的参数保存成数据文件。在脚本里开头部分load 即可
load filename |