【问题标题】:How to call matlab function/script in ssh?如何在 ssh 中调用 matlab 函数/脚本?
【发布时间】:2018-03-21 19:55:16
【问题描述】:

在我存储的文件 S.m 中:

function s = S(a, b)
    s = a + b;

我尝试像这样从 ssh shell 调用函数:

matlab -r -nodisplay "S 3 5" > sum.txt

我收到“输入中的参数不足”错误。谁能看出原因?

【问题讨论】:

  • 您的错误是"S 3 5" 部分应该紧跟在-r 之后:matlab -nodisplay -r "S 3 5"
  • 此外,如果您以这种方式调用S,您的函数中的a 和b 将是字符串。使用str2double 将它们转换为数字。
  • @CrisLuengo:也许把它写到答案中,这样问题就可以被标记为已回答?
  • @Argyll:好的,我做到了。

标签: matlab ssh


【解决方案1】:

-r 参数引入了要执行的命令。两者不能被其他论据分开。也就是说,你可以写

matlab -nodisplay -r "S 3 5" > sum.txt

或

matlab -r "S 3 5" -nodisplay > sum.txt

让 MATLAB 使用输入参数“3”和“5”运行函数 S。请参阅the official documentation of the UNIX command matlab 了解更多信息。有一个单独的documentation page for Windows,允许使用不同的选项,但-r 开关应该仍然有效。

请注意 MATLAB 语句

S 3 5

等价于

S('3','5')

也就是说,参数被视为字符串。使用str2double 函数将它们转换为数字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2017-08-17
    • 1970-01-01
    • 2011-02-01
    相关资源
    最近更新 更多