MATLAB®数字类型可以表示复数。MATLAB Engine API支持Jav万博1manbetxa中的复杂变量®使用com.mathworks.matlab.types.Complex
类。使用这个类,你可以:
在Java中创建复杂的变量,并将这些变量传递给MATLAB。
从MATLAB基础工作空间中得到复变量。
MATLAB对复数的实部和虚部均采用双精度值。
这个示例代码使用MATLAB函数:
使用getVariable
方法将复杂变量返回给Java。
进口com.mathworks.engine。*;进口com.mathworks.matlab.types.Complex;public class javaGetVar {public static void main(String[] args) throws Exception {MatlabEngine eng = MatlabEngine. startmatlab ();eng。Eval ("z = root ([1.0, -1.0, 6.0]);");eng。eval(“佐=连词(z);”);eng。eval(“鼠= z。*佐;”);Complex[] z = engl . getvariable ("z"); / /输入z Complex[] zc = eng.getVariable("zc"); double[] rat = eng.getVariable("rat"); for (Complex e: z) { System.out.println(e); } for (Complex e: zc) { System.out.println(e); } for (double e: rat) { System.out.println(e); } eng.close(); } }
这个示例代码创建了com.mathworks.matlab.types.Complex
变量,并将其传递给MATLAB真正的
函数。这个函数返回复数的实部。MATLAB返回的值是type双
尽管在Java中创建的初始变量是int
.
进口com.mathworks.engine。*;进口com.mathworks.matlab.types.Complex;public class javaComplexVar {public static void main(String[] args) throws Exception {MatlabEngine eng = MatlabEngine. startmatlab ();Int r = 8;Int I = 3;Complex c = new Complex(r, i);Double real = eng。函数宏指令(“真正的”c);eng.close ();} }