如何在bash脚本和Matlab之间传递变量

时间:2013-05-16 05:40:58

标签: linux bash matlab

例如在Matlab中我有一个字符串x = 'foo'所以我想在bash脚本中使用它。或者我有bash脚本x =$'foo'所以我想在Matlab中使用x。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

我无法告诉你有关matlab的信息,但在Octave中一切都很简单。

例如,要将bash变量传递给八度,您只需执行以下操作:

Xmax=10; echo "x=[1:$Xmax]; sin(x)" | octave -q
ans =

 Columns 1 through 8:

   0.84147   0.90930   0.14112  -0.75680  -0.95892  -0.27942   0.65699   0.98936

 Columns 9 and 10:

   0.41212  -0.54402

反之亦然:

Xmax=$(echo "fprintf(1, '%g', max(sin([1:5])))" | octave -q); echo $Xmax
0.909297

答案 1 :(得分:2)

您可以使用-r开关通过命令行界面将命令传递给MATLAB,例如,

matlab -r "x=1:whateverYouWant; y=somethingElse;"

有关详细信息,请参阅the UNIX command-line interface documentation