このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
複数の MATLAB 関数を使用した Java アプリケーションの作成
この例では、複数の MATLAB® 関数を使用して信号を解析し、結果をグラフ化する Java® アプリケーションを作成する方法を説明します。
この例では、以下の手順を実行します。
MATLAB Compiler SDK™ を使用して、プライベート メソッドが自動的にカプセル化されるクラスを含むパッケージを作成します。
Java アプリケーションで MATLAB 関数にアクセスします。これには、
MWArray
クラス階層を使用してデータを表現することが含まれます。アプリケーションをビルドして実行します。
spectralanalysis
アプリケーション
spectralanalysis
アプリケーションは信号を解析し、その結果をグラフ化します。クラス fourier
は、入力データ配列に対して高速フーリエ変換 (FFT) を実行します。このクラスのメソッド computefft
は、この FFT の結果を 2 つの出力配列 (周波数点の配列とパワー スペクトル密度) として返します。
2 番目のメソッド plotfft
は、返されたデータをグラフ化します。これらの 2 つのメソッド computefft
と plotfft
で、MATLAB 関数をカプセル化します。
ファイル
MATLAB 関数 | computefft.m plotfft.m |
MATLAB 関数の場所 |
|
Java コードの場所 |
|
手順
MATLAB に付属している
SpectraExample
フォルダーを作業フォルダーにコピーします。copyfile(fullfile(matlabroot,'toolbox','javabuilder','Examples','SpectraExample'),'SpectraExample')
MATLAB コマンド プロンプトで、作業フォルダー内の新しい
SpectraExample\SpectraDemoComp
サブフォルダーに移動します。MATLAB 関数
computefft.m
およびplotfft.m
を確認します。Java パッケージ コンパイラ アプリまたは
compiler.build.javaPackage
で Java パッケージをビルドします。以下の情報をプロジェクトに使用します。
プロジェクト名 spectralanalysis
クラス名 fourier
コンパイルするファイル plotfft.m
メモ
この例において、
fourier
クラスを使用するアプリケーションはcomputefft
を直接呼び出しません。computefft
メソッドは、plotfft
メソッドでのみ必要とされます。computefft
関数は、依存関係の分析中にコンパイラによって自動的に組み込まれるため、パッケージに手動で追加する必要はありません。たとえば、
compiler.build.javaPackage
を使用している場合は、以下を入力します。buildResults = compiler.build.javaPackage('plotfft.m', ... 'PackageName','spectralanalysis', ... 'ClassName','fourier');
詳細については、Java パッケージの生成と Java アプリケーションのビルドの手順を参照してください。
MATLAB 関数にアクセスする Java アプリケーションのソース コードを作成します。
この例のサンプル アプリケーションは
SpectraExample\SpectraDemoJavaApp\powerspect.java
にあります。プログラムにより次が実行されます。
15 Hz と 40 Hz の 2 つの正弦波を内包するランダム信号を表す値をもつ入力配列を作成する
データを格納する
MWNumericArray
配列を作成するdata = MWNumericArray.newInstance(dims, MWClassID.DOUBLE, MWComplexity.REAL);
fourier
オブジェクトをインスタンス化するplotfft
メソッドを呼び出す。これは、computeftt
を呼び出し、データをプロットします。try
-catch
ブロックを使用して例外を処理するMWArray
メソッドを使用してネイティブ リソースを解放する
MATLAB で、
SpectraDemoJavaApp
フォルダーに移動します。生成された
spectralanalysis.jar
パッケージをこのフォルダーにコピーします。たとえば、compiler.build.javaPackage
を使用した場合は、以下を入力します。copyfile(fullfile('..','SpectraDemoComp','spectralanalysisjavaPackage','spectralanalysis.jar'))
コマンド プロンプト ウィンドウを開き、
SpectraDemoJavaApp
フォルダーに移動します。javac
を使用してpowerspect.java
アプリケーションをコンパイルします。Windows® の場合、次のコマンドを実行します。
javac -classpath "<matlabroot>\toolbox\javabuilder\jar\javabuilder.jar";.\spectralanalysis.jar powerspect.java
UNIX® の場合、次のコマンドを実行します。
javac -classpath "<matlabroot>/toolbox/javabuilder/jar/javabuilder.jar":./spectralanalysis.jar powerspect.java
は、MATLAB または MATLAB Runtime のインストール フォルダーへのパスに置き換えてください。たとえば、Windows でのパスはmatlabroot
C:\Program Files\MATLAB\R2025a
のようになります。powerspect
アプリケーションを実行します。Windows の場合、次のコマンドを実行します。
java -classpath .;"matlabroot\toolbox\javabuilder\jar\javabuilder.jar";.\spectralanalysis.jar powerspect
UNIX の場合、次のコマンドを実行します。
java -classpath .:"matlabroot/toolbox/javabuilder/jar/javabuilder.jar":./spectralanalysis.jar powerspect
メモ
アプリケーションを Mac 64 ビット プラットフォームで実行する場合は、Java コマンドに
-d64
フラグを追加する必要があります。powerspect
プログラムにより、次の出力が表示されます。
参考
compiler.build.javaPackage
| Java パッケージ コンパイラ