【发布时间】:2017-05-30 07:12:28
【问题描述】:
import matlabcontrol.*;
public class HelloWorld {
public static void main(String[] args)
throws MatlabConnectionException, MatlabInvocationException {
// create proxy
MatlabProxyFactoryOptions options =
new MatlabProxyFactoryOptions.Builder()
.setUsePreviouslyControlledSession(true)
.build();
MatlabProxyFactory factory = new MatlabProxyFactory(options);
MatlabProxy proxy = factory.getProxy();
// call builtin function
proxy.eval("disp('hello world1')");
proxy.eval("addpath('E:\\Karshenasi Arsha\\term 4 (payan name)\\payan name\\Matlab')");
//my problem is here
proxy.feval("CalculatinScore", 0.4, 0.1, 0.8, 0.5);
proxy.eval("rmpath('E:\\Karshenasi Arsha\\term 4 (payan name)\\payan name\\Matlab')");
// close connection
proxy.disconnect();
}
}
在这段代码中,我试图从 matlab(CalculatinScore) 调用一个方法并使用结果。 但是 feval() 是无效的,并且不返回值。 我如何使用结果? 例如在 C# 中你可以使用这个:
matlab.Feval("GetParameters", 1, out result, individual[0] / 60, individual[2], individual[1]); object[] res = result as object[];
并使用 void 方法的结果 我可以在java中做什么?
【问题讨论】: