使用复杂变量Java
复杂变量MATLAB
MATLAB®数字类型可以表示复数。MATLAB引擎API支持Java中的复杂变金宝app量®使用com.mathworks.matlab.types.Complex
类。使用这个类,你可以:
在Java中创建复杂的变量,并将这些变量传递给MATLAB。
从MATLAB基本工作空间中获取复杂变量。
MATLAB对于复数的实部和虚部总是使用双精度值。
获取复杂变量MATLAB
该示例代码使用MATLAB函数:
使用getVariable
方法将复杂变量返回给Java。
进口com.mathworks.engine。*;进口com.mathworks.matlab.types.Complex;public class javaGetVar {public static void main(String[] args)抛出异常{MatlabEngine eng = MatlabEngine. startmatlab ();eng。Eval ("z = roots([1.0, -1.0, 6.0]);"eng。Eval ("zc = conj(z);");eng。Eval ("rat = z.*zc;");Complex[] z = eng.getVariable("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(); } }
将复杂变量传递给MATLAB函数
这个示例代码创建了一个com.mathworks.matlab.types.Complex
变量,并将其传递给MATLAB真正的
函数。这个函数返回复数的实部。MATLAB返回的值为类型双
即使在Java中创建的原始变量是int
.
进口com.mathworks.engine。*;进口com.mathworks.matlab.types.Complex;public class javaComplexVar {public static void main(String[] args)抛出异常{MatlabEngine eng = MatlabEngine. startmatlab ();Int r = 8;Int I = 3;复合体c = new复合体(r, i);Double real = eng。函数宏指令(“真正的”c);eng.close ();}}