打印

如何在shell脚本中调用Matlab

[复制链接]
5130|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shang651|  楼主 | 2012-11-4 20:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
GoldSunMonkey| | 2012-11-4 20:45 | 只看该作者
我一直比较喜欢 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

使用特权

评论回复
板凳
GoldSunMonkey| | 2012-11-4 20:45 | 只看该作者
不知道是不是你需要的呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

305

帖子

1

粉丝