このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
複数の 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.mplotfft.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 でのパスはmatlabrootC:\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 パッケージ コンパイラ
