Java アプリケーションへの単純な MATLAB 関数の統合
この例では、Java® アプリケーションで魔方陣を生成する MATLAB® メソッドを呼び出す方法について説明します。
ファイル
MATLAB 関数の場所 |
|
Java コードの場所 |
|
手順
MATLAB に付属している
MagicSquareExample
フォルダーを作業フォルダーにコピーします。copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','MagicSquareExample'))
MATLAB コマンド プロンプトで、作業フォルダー内の新しい
MagicSquareExample\MagicDemoComp
サブフォルダーに移動します。関数
makesqr.m
を確認します。function y = makesqr(x) y = magic(x);
MATLAB コマンド プロンプトで、
makesqr(5)
と入力します。出力は 5 行 5 列の行列になります。
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
ライブラリ コンパイラ アプリまたは
compiler.build.javaPackage
を使用してmakesqr.m
をカプセル化する Java パッケージを作成します。以下の情報をプロジェクトに使用します。
パッケージ名 magicsquare
クラス名 magic
コンパイルするファイル makesqr.m
たとえば、
compiler.build.javaPackage
を使用している場合は、以下を入力します。buildResults = compiler.build.javaPackage('makesqr.m', ... 'PackageName','magicsquare', ... 'ClassName','magic');
詳細については、Java パッケージの生成と Java アプリケーションのビルドの手順を参照してください。
MATLAB 関数にアクセスする Java アプリケーションのソース コードを作成します。
この例のサンプル アプリケーションは
MagicSquareExample\MagicDemoJavaApp\getmagic.java
にあります。プログラムにより次が実行されます。
入力データを保存する
MWNumericArray
配列を作成するmagic
オブジェクトをインスタンス化するmakesqr
メソッドを呼び出す (最初のパラメーターは出力引数の数を指定し、以降のパラメーターは入力引数として順番に関数に渡される)try
-catch
ブロックを使用して例外を処理するMWArray
メソッドを使用してネイティブ リソースを解放する
MATLAB で、
MagicDemoJavaApp
フォルダーに移動します。生成された
magicsquare.jar
パッケージをこのフォルダーにコピーします。compiler.build.javaPackage
を使用した場合は、以下を入力します。copyfile(fullfile('..','MagicDemoComp','magicsquarejavaPackage','magicsquare.jar'))
ライブラリ コンパイラを使用した場合は、以下を入力します。
copyfile(fullfile('..','MagicDemoComp','magicsquare','for_testing','magicsquare.jar'))
システム コマンド ウィンドウで、
PlotDemoJavaApp
フォルダーに移動します。javac
を使用して Java アプリケーションをコンパイルします。Windows® では、次のコマンドを実行します。
javac -classpath "
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\magicsquare.jar getmagic.javaUNIX® では、次のコマンドを実行します。
javac -classpath "
matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./magicsquare.jar getmagic.java
は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Windows でのパスはmatlabroot
C:\Program Files\MATLAB\R2023b
のようになります。詳細については、MATLAB により生成された Java アプリケーションのコンパイルと実行を参照してください。
システムのコマンド プロンプトからアプリケーションを実行します。
Windows の場合、次を入力します。
java -classpath .;"
matlabroot
\toolbox\javabuilder\jar\javabuilder.jar";.\magicsquare.jar getmagic 5UNIX の場合、次を入力します。
java -classpath .:"
matlabroot
/toolbox/javabuilder/jar/javabuilder.jar":./magicsquare.jar getmagic 5
アプリケーションにより 5 行 5 列の魔方陣がコマンド ウィンドウに出力されます。
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
この例から発展させるには、以下のようにします。
生成されたアプリケーションを別のコンピューターで実行してみる。
compiler.package.installer
を使用してパッケージ用のインストーラーをビルドしてみる。複数の関数で構成されたパッケージを統合してみる。
参考
compiler.build.javaPackage
| ライブラリ コンパイラ | compiler.package.installer
| mcc
| deploytool