如何让 MATLAB 在 CMD 上运行?

Posted

技术标签:

【中文标题】如何让 MATLAB 在 CMD 上运行?【英文标题】:How to get MATLAB running on CMD? 【发布时间】:2015-05-10 22:28:14 【问题描述】:

我正在尝试直接在 CMD 上而不是在 MATLAB 的终端上运行 .m 文件,但我开始相信在 Windows 上没有办法这样做。我发现了类似的东西,但仍然不是我需要的:

    matlab -nodisplay -nosplash -nodesktop -r "run whatever.m"

它会启动一个新屏幕,除了 MATLAB 自己的终端之外什么都没有,而不是像 R、mysql 和其他程序那样只在 CMD 上运行代码。

实际上我想要实现的是在 Java 上运行一些 MATLAB 的代码。我知道有一种方法可以从 .m 文件中创建 .jar、.dll、.exe 等,但我需要以其他方式进行。我的想法是获得 MATLAB 在 CMD 上抛出的结果,但它只是启动 MATLAB,运行代码,而我在使用 ProcessBuilder 的 java 上没有得到任何结果。这会读取控制台上会出现的任何内容,但由于它是 MATLAB 的控制台,因此不可能得到任何结果。这就是为什么我需要一种直接在 CMD 上运行它的方法。

【问题讨论】:

那么你的问题是如何让Matlab将M文件的结果输出返回到命令行然后退出? 您的请求会导致一种简化的进程间通信,而无需使用琐碎/常见的 O/S i/o 重定向。有一些方法可以通过类似于 ZeroMQ 允许的智能消息传递来实现这一点。此外,还有一些类似 Python-MATLAB-bridge 的项目,它们从 ZeroMQ 中受益,并准确地添加了您搜索的内容。 【参考方案1】:

如果您只是想使用 Java 运行一些 Matlab 代码,那么有人问过here。 matlabcontrolproject 可以在 here 找到。 undocumentedmatlab上也有关于本地Matlab控制的内容。

【讨论】:

感谢您的回答,和我需要的非常相似,我已经测试过并且可以工作,但是它会在执行脚本之前启动entere Matlab,所以需要很长时间,最多10秒,我需要调用它无数次,所以这种方式不是那么实际,在 R 语言上它很简单,实际上它没有 GUI,除非你安装一个 IDE,所以我需要一种方法来执行 .m 文件而不启动进入 Matlab 并在 Java 上得到它的结果。 这似乎是不可能的,因为您需要 Matlab 运行时作为“纯”.m 文件所需的运行时环境。这就是为什么您必须使用从 java 构建的 MEX / jar,或者购买昂贵的 Builder JA 工具箱^_^ 谢谢,我去看看,也许这是唯一的办法。 :)

以上是关于如何让 MATLAB 在 CMD 上运行?的主要内容,如果未能解决你的问题,请参考以下文章

matlab 怎样运行m文件?

如何在远程服务器上运行matlab程序

如何让matlab全速运行

求教:运行bat文件后如何让cmd窗口自动关闭?

如何让bat,cmd文件后台运行?

如何让MATLAB充分利用计算机资源进行计算