例如在Matlab中我有一个字符串
x = 'foo'
,所以我想在bash脚本中使用它。或者我在bash脚本中有x =$'foo'
,所以我想在Matlab中使用x
。是否有一种方法可以实现这一点?我无法告诉你有关Matlab的信息,但在Octave中一切都很简单。
例如,要将bash变量传递到Octave中,只需执行以下操作:
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 -r "x=1:whateverYouWant; y=somethingElse;"
请参阅UNIX命令行界面文档了解更多信息。
-r "x=$x"
将shell变量x
的值插入Matlab脚本中。双引号很重要;单引号会抑制变量扩展。如果变量的值在Matlab中需要引用,您也必须提供引号。 - tripleee