4

我正在从事一个医疗机器人项目,该项目捕获一系列图像,然后在 MATLAB 中对它们进行一些处理。由于必须在 MATLAB 之外完成许多其他事情,因此我使用另一种语言进行整体控制,并使用控制台命令来触发其他部分。

我有一个带有单个函数的 .m 文件,该函数将文件路径带到图像所在的目录并执行所有 MATLAB 处理。如何从命令行调用它?我在matlab -r "function(input)"这里看到了其他一些答案中的讨论,但它对我不起作用(我在打开的括号中遇到语法错误)。更具体地说,我得到:matlab: eval: line 1690: syntax error near unexpected token '('.

我见过一些人说这必须通过调用 shell 脚本来完成(我不知道如何编写),但是其他一些人说没有它是可行的,谁能澄清一下?

此外,假设我只是搞砸了matlab -r语法,MATLAB 怎么知道在哪里可以找到 .m 文件?它是否需要位于我从中运行命令的任何目录中?

4

1 回答 1

4

我猜你正在尝试:

matlab -r test('hi')

并得到...

bash: syntax error near unexpected token `('

或类似的东西?

答:您需要在" "周围使用function(input),即:

matlab -r "test('hi')"

test.m在我的当前目录中运行,输入字符串'hi'

要在名为 的 shell 脚本中执行此操作runmatlabcommand.sh,例如bash,您可以打开一个文件并编写:

#!/bin/bash
matlab -r "test('hi')"

然后通过键入从命令行执行此脚本./runmatlabcommand.sh。在尝试运行之前确保脚本具有执行权限;)

于 2012-12-18T06:23:56.090 回答