Linux 如何在bash脚本和Matlab之间传递变量
例如,在Matlab中,我有一个字符串Linux 如何在bash脚本和Matlab之间传递变量,linux,bash,matlab,Linux,Bash,Matlab,例如,在Matlab中,我有一个字符串x='foo',所以我想在bash脚本中使用它。或者我在bash脚本中使用了x=$'foo',所以我想在Matlab中使用x。有办法做到这一点吗?我不能告诉你有关matlab的内容,但在八度音阶中,一切都很简单 例如,要将bash变量传递给倍频程,只需执行以下操作: Xmax=10; echo "x=[1:$Xmax]; sin(x)" | octave -q ans = Columns 1 through 8: 0.84147 0.9093
x='foo'
,所以我想在bash脚本中使用它。或者我在bash脚本中使用了x=$'foo'
,所以我想在Matlab中使用x
。有办法做到这一点吗?我不能告诉你有关matlab的内容,但在八度音阶中,一切都很简单
例如,要将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;"
有关更多信息,请参阅。开箱思考!谢谢在不明显的情况下,
-r“x=$x”
将shell变量x
的值插值到Matlab脚本中。双引号很重要;单引号禁止变量扩展。如果变量的值需要在Matlab中引用,则也必须提供引号。