在文件S.m中我存储:
function s = S(a, b)
s = a + b;
我尝试从ssh shell调用这个函数:
matlab -r -nodisplay "S 3 5" > sum.txt
我得到“输入中的参数不够”错误。谁能看到原因呢?
答案 0 :(得分:1)
# Add default JVM options here. You can also use JAVA_OPTS and POCKETKNIFE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-XX:+UseSerialGC" "-XX:MaxHeapFreeRatio=10" "-XX:MinHeapFreeRatio=10" "-Xms32M" "-Xmx128M" "-Dfile.encoding=UTF-8"'
参数介绍了要执行的命令。这两者不能被其他论点分开。也就是说,你可以写
-r
或
matlab -nodisplay -r "S 3 5" > sum.txt
让MATLAB运行带有输入参数的函数matlab -r "S 3 5" -nodisplay > sum.txt
' 3'和' 5'。有关详细信息,请参阅the official documentation of the UNIX command matlab
。有一个单独的documentation page for Windows,其中允许使用不同的选项,但S
开关仍应有效。
请注意MATLAB语句
-r
相当于
S 3 5
也就是说,参数被视为字符串。使用S('3','5')
函数将它们转换为数字。