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

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

我不能告诉你关于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 

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

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

有关更多信息,请参阅UNIX命令行界面文档 。