【发布时间】:2013-03-13 22:10:37
【问题描述】:
在 Windows 中,您可以在 Matlab 中使用以下命令来启动一个新的 MATLAB 实例,该实例将在后台运行(即您可以在您的第一个 MATLAB 版本中继续执行命令)。
system('matlab &')
OSX 中的类似调用,
system([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() 函数时相同的问题。
谢谢
【问题讨论】:
-
有
-nosplash命令行选项matlab.exe- 也许这就是你要找的? -
问题不是在Mac上显示闪屏,而是在闪屏后第二个MATLAB实例打不开。
-
是的,但是您是否尝试过使用
-nosplash并且没有终止&?我相信这会做你想要的。我不知道为什么&符号在 OSX 上的行为不同。 -
我在 OSX 上用 -nosplash 用 & 号尝试了它,正如你所料,什么都没有发生(没有启动屏幕,没有 matlab 的新实例)。我在没有与号的情况下尝试过,新实例打开,但第一个实例无法执行命令。不幸的是,这是不可接受的。
-
试试没有符号。当然,这是假设您希望显示命令窗口(您的问题似乎表明了这一点)。
标签: macos bash matlab operating-system