Java アプリケーションでの MATLAB クラスの使用
概要
この例では、MATLAB® クラスの MATLAB ラッパー関数を呼び出す Java® アプリケーションを作成する方法を示します。
この例では、以下の手順を実行します。
MATLAB Compiler SDK™ を使用して、MATLAB ラッパー関数を使用して MATLAB クラスにアクセスするパッケージを作成します。
Java アプリケーションで MATLAB ラッパー関数を呼び出します。
アプリケーションをビルドして実行します。
手順
MATLAB で、パッケージ化対象の MATLAB コードを調べます。この例では、次のコードを使用して、
MyMATLABClass.m
という名前の MATLAB クラスを作成します。classdef MyMatlabClass < handle properties (Access = private) x % input variable y % input variable z % result variable end methods function this = MyMatlabClass() this.x = []; this.y = []; end function setInput(this, input) input = input(:); if isnumeric(input) && numel(input) == 2 this.x = input(1); this.y = input(2); end end function result = getResult(this) result = this.z; end function status = compute(this) try this.z = (this.x.^2 + this.y.^2)^0.5; status = true; catch status = false; end end end end
クラスの 4 つの MATLAB ラッパー関数
CreateMyMATLABClass.m
、SetInput.m
、Compute.m
、GetResult.m
を作成します。CreateMyMATLABClass.m.
function instance = CreateMyMATLABClass() instance = MyMATLABClass(); end
次の情報を使用して、ライブラリ コンパイラ アプリまたは
compiler.build.javaPackage
で Java パッケージをビルドします。フィールド 値 ライブラリ名 MyMATLABClass1
クラス名 Class1
コンパイル対象ファイル CreateMyMATLABClass.m
SetInput.m
Compute.m
GetResult.m
たとえば、
compiler.build.javaPackage
を使用している場合は、以下を入力します。buildResults = compiler.build.javaPackage(["CreateMyMATLABClass.m", ... "SetInput.m","Compute.m","GetResult.m"], ... 'PackageName','MyMATLABClass1', ... 'ClassName','Class1');
詳細については、Java パッケージの生成と Java アプリケーションのビルドの手順を参照してください。
メモ
MyMATLABClass.m
ファイルは依存関係の分析でコンパイラによって自動的に含められるため、パッケージに手動で追加する必要はありません。生成された
MyMATLABClass1.jar
パッケージが含まれているフォルダーに移動します。ライブラリ コンパイラを使用した場合、パッケージはfor_testing
フォルダーにあります。MATLAB 関数にアクセスするアプリケーションのソース コードを記述します。この例のコードを次に示します。
コマンド プロンプト ウィンドウを開き、
javadriver.java
とMyMATLABClass.jar
が含まれているフォルダーに移動します。javac
を使用してjavadriver.java
アプリケーションをコンパイルします。Windows® の場合、次を入力します。
javac -classpath "
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\MyMATLABClass.jar javadriver.javaUNIX® の場合、次を入力します。
javac -classpath "
matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./MyMATLABClass.jar javadriver.java
は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Linux® でのパスはmatlabroot
/usr/local/MATLAB/R2023b
のようになります。javadriver
アプリケーションを実行します。Windows の場合、次を入力します。
java -classpath .;"
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\MyMATLABClass.jar javadriverLinux の場合、次を入力します。
java -classpath .:"
matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":.\MyMATLABClass.jar javadriverメモ
アプリケーションを Mac 64 ビット プラットフォームで実行する場合は、Java コマンドに
-d64
フラグを追加する必要があります。
javadriver
プログラムにより、次の出力が表示されます。
--- USE: Constructors --- 1 2.2361 --- Done. ---
参考
compiler.build.javaPackage
| ライブラリ コンパイラ