matlab linux命令行方式,如何从Linux命令行调用MATLAB函数?

我已经修改了亚历克斯·科恩的回答为我自己的需要,所以在这儿呢。

我的要求是批处理脚本可以处理字符串和整数/双输入,并且Matlab应该从调度器脚本被调用的目录运行。

#!/bin/bash

matlab_exec=matlab

#Remove the first two arguments

i=0

for var in "[email protected]"

do

args[$i]=$var

let i=$i+1

done

unset args[0]

#Construct the Matlab function call

X="${1}("

for arg in ${args[*]} ; do

#If the variable is not a number, enclose in quotes

if ! [[ "$arg" =~ ^[0-9]+([.][0-9]+)?$ ]] ; then

X="${X}'"$arg"',"

else

X="${X}"$arg","

fi

done

X="${X%?}"

X="${X})"

echo The MATLAB function call is ${X}

#Call Matlab

echo "cd('`pwd`');${X}" > matlab_command.m

${matlab_exec} -nojvm -nodisplay -nosplash < matlab_command.m

#Remove the matlab function call

rm matlab_command.m

该脚本可以被称为像(如果它是你的路径上): matlab_batcher.sh functionName stringArg1 stringArg2 1 2.0

其中,最后两个参数将作为数字和前两个作为字符串传递。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值