如何与MATLAB并行运行批处理文件?

时间:2014-03-30 03:27:48

标签: batch-file matlab simulink

我正在为外部程序开发Simulink工具箱,问题是我需要并行运行这两个程序。我可以运行外部程序从MATLAB调用批处理文件,但该程序旨在等待Simulink在每个模拟步骤中给出的信息。程序检索信息,处理它并向Simulink发送报告以运行模拟的另一个步骤(该过程迭代完成)。如果我从Simulink运行批处理文件,那么它无法执行其他块的操作,因为它会一直等到程序性能结束。

如何解决它的任何想法?

1 个答案:

答案 0 :(得分:0)

很难知道你想要什么。显而易见的是启动这两个程序。

如果您的语言与大多数其他语言一样,您可以将其置于cmd并返回,而无需等待。

cmd /c start "Window Title" "c:\some folder\some file.bat" 

但是您可以在命令提示符或批处理文件中启动这两个程序(因为两行很好 - 丢失了&符号)。我用来启动matlab的格式在注册表的apppaths键中查找matlab路径,如果它不在当前文件夹中。

start matlab&start "" "c:\some folder\some file.bat"

如果你在Start的任何地方使用引号你必须放入WindowTitle。我在批次上面放了一个空白的。而且因为我在注册表中查找matlab,所以我不需要引号,所以我不打算指定一个Windows标题。

您也可以在不使用start的情况下输入命令提示符。如果matlab是一个GUI程序(一个不打开控制台窗口的程序),那么在命令提示符下键入它会启动它并返回(但不会在批处理文件中)。还必须告诉窗户它在哪里。

"c:\some matlab folder\matlab"
"c:\some folder\some file.bat"

该计划如何沟通?