我从以下问题得到了答案。它要求我创建一个bash文件。问题在标题中
How to call MATLAB functions from the Linux command line?
因此,我尝试了以下代码,如答案中所示。
b_exec=matlab
X="localize(r,q)"
echo ${X} > matlab_command_rq.m
cat matlab_command_rq.m
${matlab_exec} -nojvm -nodisplay -nosplash < matlab_command_rq.m
rm matlab_command_rq.m
答案中的原始代码是
matlab_exec=matlab
X="${1}(${2})"
echo ${X} > matlab_command_${2}.m
cat matlab_command_${2}.m
${matlab_exec} -nojvm -nodisplay -nosplash < matlab_command_${2}.m
rm matlab_command_${2}.m
在解释中,他们提到1美元是功能,2美元是输入。相应地,我用我的函数'localize'替换它并输入(r,q)
但我收到以下错误
localize(r,q)
./matlab_batcher.sh: 5: ./matlab_batcher.sh: -nojvm: not found
回声似乎正在发挥作用。但我真的不知道之后发生了什么。能帮助我,并告诉我用matlab函数调用matlab函数的正确方法???
我使用以下声明称呼它
sh ./matlab_batcher.sh localize r q
答案 0 :(得分:1)
您需要将b_exec
更改回matlab_exec
,或者需要更改
${matlab_exec} -nojvm ...
到
${b_exec} -nojvm ...
无论哪种方式,你都需要保持一致。