ちょっと便利そうだな-と思い、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);