【发布时间】:2023-03-19 22:40:01
【问题描述】:
我正在使用 Java 中的 matlabcontrol 包连接到 Matlab r2015a 并启动选定的脚本。这一切都很好,但每次我运行脚本时,Matlab 都会打开一个带有输出的命令窗口。此输出已在 Eclipse 中返回,因此是多余的。
我正在通过以下方式使用 Matlab 创建会话:
public interface IMatLab {
MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true).setHidden(true)
.setMatlabLocation(null).build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
public static String runScript(String pathFunc, int param1, int param2)
throws MatlabConnectionException, MatlabInvocationException {
MatlabProxy proxy = factory.getProxy();
// locating MatLab files
proxy.setVariable("path", pathFunction);
proxy.eval("addpath(path)");
// calling add function in MatLab code
Object[] obj = proxy.returningFeval("add", 1, param1, param2);
String outputScript = toString(obj[0]);
return outputScript;
}
调用Matlab时有什么办法可以隐藏命令窗口?将 'setHidden' 设置为 false,它会启动完整的 Matlab 会话,而不仅仅是命令窗口。
我更喜欢在 java 本身中执行此操作。如果这不是一个选项,在 Matlab 中更改配置也可以。
【问题讨论】:
-
请添加minimal example 以重现问题。
-
添加代码和'setHidden'
标签: java eclipse matlab proxy matlabcontrol