如何在Java中用matlabcontrol包调用Matlab时隐藏命令窗口?
我使用Java中的matlabcontrol包连接到MatlabR2015A并启动一个选定的脚本。这一切都很好,但每次我运行脚本时,Matlab都会打开一个包含输出的命令窗口。这个输出已经在Eclipse中返回,因此是冗余的 我正在用Matlab创建一个会话,方法如下:如何在Java中用matlabcontrol包调用Matlab时隐藏命令窗口?,java,eclipse,matlab,proxy,matlabcontrol,Java,Eclipse,Matlab,Proxy,Matlabcontrol,我使用Java中的matlabcontrol包连接到MatlabR2015A并启动一个选定的脚本。这一切都很好,但每次我运行脚本时,Matlab都会打开一个包含输出的命令窗口。这个输出已经在Eclipse中返回,因此是冗余的 我正在用Matlab创建一个会话,方法如下: public interface IMatLab { MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder() .s
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中更改配置也可以。据我所知,如果不使用本机代码,就无法做到这一点。原因是:
顺便说一句,我想你应该小心点,matlabcontrol库并不完美,有时你会失去与Matlab的连接,打开一个新的Matlab。如果用户看不到Matlab窗口,您可能会运行很多Matlab进程,而看不到任何进程。据我所知,如果不使用本机代码,就无法做到这一点。原因是:
顺便说一句,我想你应该小心点,matlabcontrol库并不完美,有时你会失去与Matlab的连接,打开一个新的Matlab。如果用户看不到Matlab窗口,您可能会运行很多Matlab进程,而看不到任何进程。请添加一个来重现问题。添加的代码和“setHidden”请添加一个来重现问题。添加的代码和“setHidden”