windows - 从命令行运行 m 文件时如何隐藏 "MATLAB Command Window"?

标签 windows matlab user-interface command-line command-prompt

我正在使用如下命令行字符串运行 MATLAB:

C:\<a long path here>\matlab.exe -nodisplay -nosplash -nodesktop -r "run('C:\<a long path here>\mfile.m');"

m 文件包含一个 plot()在 x-y 平面上绘制一条简单曲线的函数。

m 文件成功运行并使用我在上面指定的命令行字符串绘制绘图。但是,每次我运行此命令时,都会出现一个名为“MATLAB 命令窗口”的窗口以及绘图。

如何让“MATLAB 命令窗口”不出现,以便只有绘图可见。

“MATLAB 命令窗口”如下所示: enter image description here

最佳答案

如果您从 Windows 上的另一个程序运行 Matlab,您可以使用 Matlab COM Automation Server 运行它. ActiveX 控件有一个 Visible 属性,可以让您使命令窗口不可见,但看起来它使绘图保持可见。

这是一个如何使用另一个 Matlab 作为 Controller 的示例。

ml = actxserver('Matlab.Application');
ml.Visible = false;
ml.Execute('surf(peaks)');

或者在 VBScript 中。

Set ml = CreateObject("Matlab.Application")
ml.Visible = false
ml.Execute("surf(peaks)")
ml.Execute("pause(4)")

无论如何,这种交互模式可能更符合您的需求,具体取决于您的工作流程的结构,因为它可以让您启动 Matlab 进程一次并在其上发出许多绘图请求,从而节省启动成本并让您拥有多个绘图立即可见。

如果您仍想从命令行调用它,只需使用上述 VBScript 代码通过 .vbs 包装器脚本运行它,但调用 run('...\mfile.m') 而不是 surf(peaks)。您的 mfile.m 将需要一些 GUI 逻辑,使其在用户关闭绘图之前一直阻塞,替换 pause 调用,因此它不会在用户完成查看之前消失。

关于windows - 从命令行运行 m 文件时如何隐藏 "MATLAB Command Window"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717688/

相关文章:

c++ - 包含 2 个头文件时类型重定义错误

matlab - 自适应阈值——最小误差阈值方法的实现

c++ - 在循环中更新 Qt GUI(将位图图像显示为电影)

python - 连接本地网络中的另一台计算机

windows - 无法获取服务 Powershell 的状态

c++ - 有人使用 MATLAB 工具生成 C/C++ 代码吗?生成的代码是否可用于生产用途?

java - 在数据库中存储语言的最佳实践

Java SteelSeries 库分步指南

windows - 帮助我让我的 windows cmd.exe 控制台更像一个 Linux 终端

c# - Windows 应用程序 - 刚开始