繁体   English   中英

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

[英]How to run a batch file in parallel with MATLAB?

我正在为外部程序开发Simulink Toolbox,问题是我需要并行运行两个程序。 我可以运行从MATLAB调用批处理文件的外部程序,但是该程序旨在等待Simulink在仿真的每个步骤中提供的信息。 该程序检索信息,进行处理,然后向Simulink发送报告以运行模拟的另一步骤(该过程是迭代完成的)。 如果我从Simulink运行该批处理文件,则它无法执行其他块的动作,因为它要等到程序性能结束。

关于如何解决的任何想法?

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

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

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

但是您可以只在命令提示符或批处理文件中启动这两个程序(因为两行就可以了-取消&号)。 我用于启动matlab的格式(如果不在当前文件夹中)在注册表的apppaths项中查找matlab路径。

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

如果在“开始”中的任何地方使用引号,则必须将其放在WindowTitle中。 我在上面的行中放置了一个空白的批次。 而且因为我正在注册表中查找Matlab,所以我不需要引号,因此不必费心指定Windows标题。

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

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

程序如何通信?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM