MLAB

MLAB
開発元シビライズド・ソフトウェア株式会社
初回リリース1985 (1985年
言語Cアセンブラ、MLAB [ 1 ]
オペレーティングシステムクロスプラットフォームMicrosoft WindowsLinuxMac OS X
プラットフォームIA-32x86-64
タイプ数値計算
ライセンス独自の商用ソフトウェア
ウェブサイトwww.civilized.com/mlabdesc.html
MLAB
パラダイムマルチパラダイム関数型命令型手続き型配列型
設計:ゲイリー・D・ノット、ダニエル・R・カーナー、バリー・ブノウ
開発元シビライズド・ソフトウェア
初登場1970年代後半
タイピングの規律ダイナミック弱い
OSクロスプラットフォーム
ウェブサイト www.civilized.com

MLABモデリングラボ)は、マルチパラダイム 数値計算環境と第4世代プログラミング言語であり、もともと国立衛生研究所で開発されました。[ 2 ]

Civilized Software, Inc. が開発した独自のプログラミング言語である MLAB では、行列操作、関数とデータのプロット、アルゴリズムの実装が可能で、曲線フィッティング、微分方程式、統計、グラフィックスのサポートが提供されます。

MLAB は数値計算を目的としており、常微分方程式の解法 (ODE 解法) と曲線フィッティング(非線形回帰) のための特別な機能を備えています。初等数学、超越関数、確率と統計、線形代数、最適化、クラスター分析、組合せ論、数値入出力、グラフィックスの領域から 30 種類を超えるコマンド タイプと 450 種類 を超える組み込み関数を提供します。

一般的な低レベル関数(正弦、余弦、対数など)に加え、特異値分解、離散フーリエ変換、微分方程式系の解法、ノンパラメトリックモデリング、制約付き非線形最適化など、より複雑な解析を実行する関数も多数用意されています。また、最も一般的な分布関数とその逆関数など、統計指向の関数も豊富に収録されているほか、非常に複雑な関数のグラフ作成をサポートする堅牢なグラフ作成機能も備えています。

多くのソフトウェアパッケージは常微分方程式を数値的に積分できますが、MLABはパラメータと初期条件の調整も可能な数少ないソフトウェアパッケージの一つです。MLABは、調整が線形の場合、あるいはほとんどの微分方程式モデルと同様に非線形の場合の曲線フィッティングも容易に処理できます。

MLAB は、学術機関や研究機関、産業企業で広く使用されています。

歴史

MLABは、1970年代後半に国立衛生研究所で、デジタル・イクイップメント・コーポレーション(DEC)のPDP-10コンピュータ 上で動作するスタンフォード大学SAILを使用して開発されました。MLABの開発者は1985年にCivilized Software, Inc.を設立し、1980年代後半から1990年代初頭にかけて中小企業技術革新研究助成金 の申請を通じてMLABを拡張しました

MLABは、生化学の研究者や実務家によって最初に採用されましたが、すぐに他の多くの分野にも広まりました。現在では教育にも利用されており、特に線形代数数値解析の教育に活用されています。また、化学反応速度論の解析とモデリング[ 3 ]、薬理学(薬物動態学を含む)および生理学研究におけるコンパートメントモデリングに携わる科学者の間でも人気があります。

構文

MLABアプリケーションは、MLABスクリプト言語に基づいて構築されています。MLABアプリケーションの一般的な使用法は、コマンドウィンドウを対話型の数学計算ツールとして使用したり、MLABコードを含むテキスト(スクリプト)ファイルを実行したりすることです

MLABには数十のコマンドと数百の関数があります。本質的には、MLABはdoファイルと呼ばれる再実行可能なスクリプトファイルを処理する機能を備えた高水準数学言語のインタープリタです。

MLABでは、次のように関数を定義してグラフ化することができます。

関数 f(x) = a*cos(b*x)*exp(-k*x) a = 1; b = 4; k =.5 v=1:10!100 m=点(f,v) mを描く 視点 

結果は単純なプロットになります:

1:10!100 = 1:10:0.0909090909であることに注意。これは、0.0909090909刻みで1から10までの値を持つ列ベクトルを扱っていることを意味します。

また、 points(f,v) = v&'(f on v)であり、v$'(f on v)は、 vの値に基づいて計算されたfの値で構成される同じサイズの列ベクトルと行列vの列方向の連結を意味することに注意してください。

次のようにして、ファイルから 110 個のデータ値を 2 列のマトリックスに読み込むことができます (結果は 55 行 x 2 列のマトリックスになります)。

d = read("ファイル名",55,2) 

行列dの行を(x,y) データ ポイント (y 値に誤差あり) として取り、これらのデータ ポイントを上記で定義した関数fによって「モデル化」すると、未知のパラメーターabk を次のように推定できます。

fit(a,b,k), fからd 

次のように、移動分散推定関数ewtに基づいて、 d内のさまざまなデータ ポイントの推定重みを使用できます。

fit(a,b,k)、f から d まで、wt ewt(d) 

データと「フィット」を次のようにグラフ化できます。

delete w /* 以前の画像を破棄します */ 線種なし、点種円で描画 点(f,d 列1)を緑色で描画する 視点 

fの記号微分を見て、次のようにグラフに表す ことができます

f'xと入力 点を描画(f'x, d 列1) 赤で表示 視点 

MLABでは、曲線フィッティングや常微分方程式の解法で微分値が必要な場合、記号微分を使用できることに注意してください。また、MLABでは微分方程式で定義されたモデルをフィッティング(または単に解く)できるため、化学反応速度論、生理学的モデル、コンパートメントモデルを扱うことができます

参照

参考文献

  1. ^ 「MLAB:数学および統計モデリングのための高度なシステム」 Civilized Software, Inc. 2015年8月27閲覧
  2. ^ Knott, GD (1993). 「MLAB:数学・統計モデリングのための高度なシステム」 Schuster, S.、Rigoulet, M.、Ouhabi, R.、Mazat, J.-P. (編). 『バイオサーモキネティクスの現代動向』 ニューヨーク:Plenum Press. pp.  451– 454. doi : 10.1007/978-1-4615-2962-0_70 . ISBN 978-1-4615-2962-0
  3. ^ 「化学反応速度論:単純結合:F + G ⇋ B」(PDF)。Civilized Software, Inc. 2015年9月1閲覧