FreeMatはScilabやGNU Octaveと同様の、オープンソースの数値解析のためのプログラミング環境およびプログラミング言語である[1][2]。MATLABやIDLと比べると、C言語、C++、Fortranなどでコードを書かなくてもよい、分散環境による並列計算の開発に適している、3Dグラフィクスの機能を備えている、といった特徴がある[3]。
特徴
MATLABと100%の互換性はないが、機能としては95%をカバーしている[4]。
カバーしている機能は、以下のようになる。
- 任意次元の配列 (デフォルトでは6次元以下に制限している)
- 8、16、32、64ビット整数型 (符号あり、なしとも) および 32、64ビット浮動小数点型、64、128ビット複素数型
- すべてのデータ型に対する算術演算
- 除算による線形問題の解法
- 固有値および特異値分解
- プログラミングにおける制御構文 (for, while, break, continueなど)
- 2Dプロットと画像表示
- 複数の型が混在する配列型 (MATLABで"cell array"と呼ばれているものに相当)
- 配列の動的な操作
- 任意長データに対するFFT
- 関数呼び出しの際の引数の参照渡し (Pass-by-reference、IDL言語の機能)
- C/C++/FORTRAN で書かれた外部のルーチンを、その言語のコードを書くことなく呼び出す
- Windowsのネイティブサポート
- 疎行列のネイティブサポート
- Mac OS Xのネイティブサポート (X11不要)
- 関数へのポインタ (evalおよびfeval)
- クラス、演算子オーバーロード
- 3DプロットとOpenGLを使った描画
- MPIを使った並列処理
サポートしていないMATLABの機能としては、GUIが挙げられている。
なお、バーション4.2において、64ビット版オペレーティングシステムに対応された。
脚注
- ^
“FreeMat - Home”. freemat.sourceforge.net. 2009年1月25日閲覧。
- ^
“Berkeley Science Books - Freemat and Octave”. berkeleyscience.com. 2009年1月25日閲覧。
- ^
“FreeMat - LinuxLinks News”. www.linuxlinks.com. 2009年1月25日閲覧。
- ^
“FreeMat - FAQ”. The FreeMat team. 2009年8月27日閲覧。
関連項目
外部リンク