0
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#では を使用できます。Javaのvoid関数の値を使用して
matlab.Feval( "GetParameters"、1、出力結果、個体[0]/60、個体[2]、個体[1]); オブジェクト[] res =オブジェクトとしての結果[];
voidメソッドの結果を使用してください 私はjavaで何ができますか?
あなたの答えに感謝します。答えを印刷できますか?例えばここでの答えは0.5です。私はToString()メソッドでそれを印刷しようとしましたが、私は[D @ 4fca772d – user3118071
を得ました。実際に得られた結果は 'double'の配列です。キャストして、最初の要素を取った。 –