FreeMat

FreeMatは、ScilabやGNU Octaveと同様に、オープンソースで利用可能な数値解析環境であり、プログラミング[[言語]]でもあります。MATLABやIDLと比較して、C/C++/Fortranなどの言語で追加のコードを記述することなく、分散環境での並列計算の開発に適している点や、高度な3Dグラフィックス機能を標準で搭載している点が特徴です。

FreeMatの特徴



MATLABとの完全な互換性はありませんが、その機能の約95%をカバーしており、多くのMATLABユーザーにとって代替となり得る存在です。FreeMatがカバーしている主な機能は以下の通りです。

多次元配列: 任意の次元の配列を扱うことが可能(デフォルトでは6次元まで)。
豊富なデータ型: 8, 16, 32, 64ビットの整数型(符号付き、符号なし)、32, 64ビットの浮動小数点型、64, 128ビットの複素数型をサポート。
算術演算: 全てのデータ型に対して基本的な算術演算が可能。
線形代数: 除算による線形問題の解法、固有値分解、特異値分解などの機能を提供。
制御構文: プログラミングに必要な制御構文(for, while, break, continueなど)をサポート。
2Dプロットと画像表示: データの可視化に役立つ2Dプロット機能と画像表示機能を搭載。
混合型配列: 複数のデータ型が混在する配列(MATLABの"cell array"に相当)を扱うことが可能。
動的な配列操作: 配列のサイズや形状をプログラム実行中に動的に変更可能。
高速フーリエ変換 (FFT): 任意長のデータに対するFFTを効率的に実行。
参照渡し: 関数呼び出しの際に引数を参照渡しすることが可能(IDL言語の機能と同様)。
外部ルーチン連携: C/C++/FORTRANで記述された外部ルーチンを、追加のコード記述なしに直接呼び出し可能。
ネイティブサポート: WindowsおよびMac OS X(X11不要)のネイティブサポートを提供。
疎行列: 疎行列を効率的に扱うためのネイティブサポート。
関数ポインタ: 関数へのポインタ(evalおよびfeval)を利用可能。
クラスと演算子オーバーロード: クラス定義と演算子オーバーロードによるオブジェクト指向プログラミングをサポート。
3Dプロット: OpenGLによる高度な3Dプロットおよび描画機能。
並列処理: MPI (Message Passing Interface) を用いた並列処理をサポート。

サポートされないMATLAB機能



FreeMatはMATLABのGUI機能をサポートしていません。

64ビット対応



バージョン4.2以降、64ビット版オペレーティングシステムにネイティブ対応しています。

関連項目



数値解析
アルゴリズム
計算科学
シミュレーション
数値解析ソフトウェア

類似ソフトウェア



GNU Octave
MATLAB
Scilab

外部リンク



Freematを使おう!

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。