白旗製作所

MATLABからjavaクラス、jarファイルを扱う

ちょっと便利そうだな-と思い、MATLABからjavaクラスを呼び出してみたので方法をメモしておきます。

参考:http://www.mathworks.co.jp/jp/help/matlab/matlab_external/creating-and-using-java-objects.html
MATLAB-高度なソフトウェア開発-外部プログラミング言語インターフェイス-Java ライブラリ-javaオブジェクトの作成と使用
http://lunran.sakura.ne.jp/wordpress/category/matlab/
Matlab - Lunran Studio


①javaクラスをmatlabが対応しているバージョンでビルドしておきます。
以下のコマンドでmatlabが対応しているjavaバージョンを調べます。
version -java

その後、eclipseのプロジェクト→プロパティ→Java Build Path→ライブラリー→JREシステム・ライブラリー
の実行環境を、上記バージョンに変更してビルドしておきます。

②コンストラクタを初期化メソッドにしておきます。
javaクラスにコンストラクタがあると、うちの環境では以下の様なエラーを吐いて使えなかったので、
No constructor ClassName with matching signature found

コンストラクタは初期化メソッドに代替しておきます。
private void ClassName()
{
  ...
}


③.classファイルのあるパスをダイナミッククラスパスに追加します。(jarファイルも同様)
javaclasspath('C:\workspace\ClassTest\bin\');

以下のコマンドでダイナミッククラスパスに追加されたかを確認しておきます。
javaclasspath

④使用例1:クラスをインスタンス化してみます。
instanceName = javaObject('ClassName');
以下の方法でもOKです。
instanceName = ClassName;

④使用例2:クラスのメソッドを使用してみます。
return_value = javaMethod('methodName', instanceName, arg1, arg2, arg3);
以下の方法でもOKです。
return_value = instanceName.methodName(arg1, arg2, arg3);


これでjavaクラスもMATLABで使いまわせるようになりました。
スポンサーサイト
  1. 2014/08/29(金) 11:44:46|
  2. Java
  3. | トラックバック:0
  4. | コメント:0
<<Flacファイルのメタデータ(タグ)構造 | ホーム | eclipseのエディタ設定>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://dededemio.blog.fc2.com/tb.php/14-4e3da7ed
この記事にトラックバックする(FC2ブログユーザー)