我从Eclipse Java界面调用MATLAB程序。我已经使用MatlabControl。 当我多次运行Java程序时,每次打开MATLAB的新实例时,都会使计算速度变慢。如何防止在多次运行Java程序时打开MATLAB的新实例
是否有可能阻止它打开MATLAB的新实例?如果可能的话,我该怎么做?
如果我有一个已经打开的MATLAB终端,有可能计算可以简单地使用该终端,而不是打开一个新的MATLAB实例?
任何帮助将是可观的。
我从Eclipse Java界面调用MATLAB程序。我已经使用MatlabControl。 当我多次运行Java程序时,每次打开MATLAB的新实例时,都会使计算速度变慢。如何防止在多次运行Java程序时打开MATLAB的新实例
是否有可能阻止它打开MATLAB的新实例?如果可能的话,我该怎么做?
如果我有一个已经打开的MATLAB终端,有可能计算可以简单地使用该终端,而不是打开一个新的MATLAB实例?
任何帮助将是可观的。
matlabcontrol无法连接到已经打开的matlab实例,它只能创建一个新的实例。
为了防止打开多个matlab实例,在关闭应用程序时,可以使用proxy.exit()
而不是proxy.disconnect()
关闭matlab。
为了进一步在您的java程序的多个实例中只使用一个matlab实例,我看到了不同的可能性,但没有很好的可能性。
这里是matlabcontrol教程关于这个问题的注释:
评论通过潘文凯... @ gmail.com,2012年2月9日 重用现有会话,以前的代理需要先断开连接。下面是一个例子,
MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder().setUsePreviouslyControlledSession(true).build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
...
proxy.disconnect();
proxy = factory.getProxy(); // this won't open a new Matlab session
它没有为我工作。但是一些人声称它做了这项工作。
谢谢。除了matlabcontrol还有别的方法可以满足我的要求吗? - user24094
其他替代matlabcontrol这里: https://code.google.com/p/matlabcontrol/wiki/ApproachesToControl
希望你管理,它是一个真正的痛苦ITA,以这样的....欢呼
这不是关于Java的多个实例我正在寻找。我希望在几秒钟后再次运行相同的程序(注意它们不是并行运行)。但是每次,mat; ab都会打开一个新实例,而不是在Matlab的开始实例中更新值。问题仍然存在。 – user24094
对于所有这些解决方案,它们并不存在并行问题,相关部分是您希望跨应用程序共享对matlab的访问权限。 – Daniel
proxy.exit()无法解决我的问题。我需要一些可以防止每次都打开新实例的东西。 – user24094