主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

Javaでの複素変数の使用

MATLABの複素変数

MATLAB®の数値型によって複素数を表すことができます。MATLABエンジンAPIは,com.mathworks.matlab.types.Complexクラスを使用してJava®で複素変数をサポートしています。このクラスを使用すると,以下のことができます。

  • 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) 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(); } }

複素変数をMATLAB関数に渡す

このコード例では,Javaで変数com.mathworks.matlab.types.Complexを作成し,MATLAB関数真正的に渡します。この関数は複素数の実数部を返します。Javaで作成された元の変数はintですが,MATLABにより返される値は型となります。

进口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 ();} }

関連するトピック