我有一个通过matlabcontrol.jar包在Java Eclipse项目上运行的MATLAB脚本。
我有以下设置
MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.setHidden(true)
.setMatlabLocation(null).build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
//some code invoking the proxy.eval() method
问题是我在模拟运行时期间运行了几次MATLAB脚本。我怎样才能让Java每次想要使用MATLAB函数时都不必重新连接MATLAB?
任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:1)
我不是JAVA的专家,所以我会用简单的语言给出我的解决方案,你可以将其翻译成JAVA世界。 :)
E.g:
public class MATLABConnector
{
private MATLABConnector con=new MATLABConnector();
MatlabProxyFactoryOptions options = new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.setHidden(true)
.setMatlabLocation(null).build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
private MATLABConnector()
{
// Do basic initializations.
}
private boolean checkConnecionStatus();
private boolean establishConnection();
public static MATLABProxy getProxy()
{
if(!con.checkConnectionStatus())
con.establishConnection();
return con.factory.getProxy();
}
}