Main Content

Java アプリケーションでの MATLAB プロットの表示

この例では、以下の手順を実行して MATLAB® 関数を Java® アプリケーションに統合します。

  1. MATLAB Compiler SDK™ 製品を使用して、MATLAB 関数 (drawplot.m) を Java クラス (plotter) のメソッドに変換し、Java パッケージ (plotdemo) でそのクラスをラップします。

  2. plotter クラスをインスタンス化し、MWArray クラス ライブラリを使用してデータ変換を処理して、Java アプリケーション (createplot.java) で MATLAB 関数にアクセスします。

    メモ

    MWArray クラス階層の完全な参考情報については、com.mathworks.toolbox.javabuilder パッケージを参照してください。

  3. createplot.java アプリケーションをビルドして実行します。

ファイル

MATLAB 関数の場所matlabroot\toolbox\javabuilder\Examples\PlotExample\PlotDemoComp\drawplot.m
Java コードの場所matlabroot\toolbox\javabuilder\Examples\PlotExample\PlotDemoJavaApp\createplot.java

手順

  1. MATLAB に付属している PlotExample フォルダーを作業フォルダーにコピーします。

    copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','PlotExample'),'PlotExample')

    MATLAB コマンド プロンプトで、作業フォルダー内の新しい PlotExample\PlotDemoComp サブフォルダーに移動します。

  2. 関数 drawplot.m を確認します。

    function drawplot(x,y)
    plot(x,y);
    

    この関数により、入力パラメーター x および y のプロットが表示されます。

  3. ライブラリ コンパイラ アプリを使用するか、次の情報を使用して compiler.build.javaPackage によって Java パッケージを作成します。

    プロジェクト名plotdemo
    クラス名plotter
    コンパイルするファイルdrawplot.m

    たとえば、compiler.build.javaPackage を使用している場合は、以下を入力します。

    buildResults = compiler.build.javaPackage('drawplot.m', ...
    'PackageName','plotdemo', ...
    'ClassName','plotter');

    詳細については、Java パッケージの生成と Java アプリケーションのビルドの手順を参照してください。

  4. MATLAB 関数にアクセスする Java アプリケーションのソース コードを作成します。

    この例のサンプル アプリケーションは PlotExample\PlotDemoJavaApp\createplot.java にあります。

     createplot.java

    プログラムにより次が実行されます。

    • MWNumericArray を使用して x および y という double 値をもつ 2 つの配列を作成し、方程式 y = x2 を表す

    • plotter クラスを thePlot オブジェクトとしてインスタンス化する

      thePlot = new plotter();
    • drawplot メソッドを呼び出し、MATLAB 関数 plot を使用して単純な放物線をプロットする

      thePlot.drawplot(x,y);
      
    • try-catch ブロックを使用して例外をキャッチして処理する

  5. MATLAB で、PlotDemoJavaApp フォルダーに移動します。

  6. 生成された plotdemo.jar パッケージをこのフォルダーにコピーします。

    • compiler.build.javaPackage を使用した場合は、以下を入力します。

      copyfile(fullfile('..','PlotDemoComp','plotdemojavaPackage','plotdemo.jar'))
    • ライブラリ コンパイラを使用した場合は、以下を入力します。

      copyfile(fullfile('..','PlotDemoComp','plotdemo','for_testing','plotdemo.jar'))
  7. コマンド プロンプト ウィンドウで、plotdemo.jar のコピー先の PlotDemoJavaApp フォルダーに移動します。

  8. javac を使用して createplot アプリケーションをコンパイルします。

    • Windows® では、次のコマンドを実行します。

      javac -classpath "matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\plotdemo.jar createplot.java
    • UNIX® では、次のコマンドを実行します。

      javac -classpath "matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./plotdemo.jar createplot.java

    matlabroot は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Windows でのパスは C:\Program Files\MATLAB\R2023b のようになります。

  9. createplot アプリケーションを実行します。

    • Windows の場合、次を入力します。

      java -classpath .;"matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\plotdemo.jar createplot
    • UNIX の場合、次を入力します。

      java -classpath .:"matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./plotdemo.jar createplot

    createplot プログラムにより、次の出力が表示されます。

    Plot of y equals x squared

参考

|

関連するトピック