在 Windows 中,您可以在 Matlab 中使用以下命令来启动一个新的 MATLAB 实例,该实例将在后台运行(即,您可以在您的第一个 MATLAB 版本中继续执行命令)。
系统('matlab &')
OSX 中的类似调用,
系统([matlabroot '/bin/matlab &'])
但是会导致显示初始图像,然后什么也没有。如果我取出 & 符号,新实例将按预期打开。不幸的是,这对我不起作用,我真的需要能够在第二个运行时控制 MATLAB 的第一个实例。
有谁知道为什么操作系统之间存在这种差异?顺便说一句,我在 Mac 上使用 OSX 10.7、Windows 7 64 位和 MATLAB R2012a,在 PC 上使用 R2012b。
作为一些背景,我正在尝试为广泛使用 input() 函数的交互式命令行界面编写一个通用测试器。
编辑:我应该提到该命令
/Applications/MATLAB_R2012a.app/bin/matlab &
从 OSX 终端按预期工作。换句话说,一个新的 MATLAB 实例打开并且可以在终端中输入新的命令。所以这个问题似乎特定于 OSX matlab 中的 system() 函数。
此外,我尝试将该命令添加到 bash 脚本并从 matlab 调用该脚本,但遇到了与将命令放入 system() 函数时相同的问题。
谢谢