そんなときには JMatIO というライブラリがある。BSDライセンスらしい。
例えば、以下のサイトから JMatIO_071005.zip を落としてみる。
http://sourceforge.jp/projects/sfnet_jmatio/
解凍すると lib フォルダの中に jmatio.jar があるから、eclipse で使う場合には、パッケージ名を右クリックして、
Build Path --> Add External Archives
にこの jar ファイルを指定すればいい。
さて、簡単な使い方。
まず、abc.mat というファイルがあったとして、abc.mat の中には、result という名前の行列(double型)が保存されてるとする。
MatFileReader のコンストラクタが IOException を投げる可能性があるので、try catchでくくって、
try{ MatFileReader mfr = new MatFileReader(new File("abc.mat")); MLDouble array = (MLDouble)mfr.getMLArray("result"); double[][] result = array.getArray(); } catch(IOException ioe){ ioe.printStackTrace(); }
とすると、double[][] result に行列データが代入される。
eclipse だと面倒見てくれるけど、
import com.jmatio.io.MatFileReader; import com.jmatio.types.MLDouble;
をインポートしとくこと。
ちなみに、javadoc は解凍したフォルダの doc の中にあるけど、あんまり丁寧じゃない。
0 件のコメント:
コメントを投稿