GNU Octaveソルバー

<< 目次を表示 >>

ページ位置:  シミュレーション > 数学的なシミュレーション > ソルバー >

GNU Octaveソルバー

GNU Octaveは、配列と行列に重点を置いた数学関数のライブラリです。JavaScriptで書かれたスクリプトから各関数を呼び出せます。

 

JavaScriptではソルバークラスを使用して、実行時にOctaveから任意の数学関数を呼び出せます。例えば、以下のようなものがあります。

 

    var octave = new Solver('octave');

    var resultFromOctave = octave.exec('complexMathsFunction', parameter1, parameter2);

 

概要はヘルプのソルバーのページをご覧ください。

 

OctaveソルバはMATLABソルバと同じ機能を実行できますが、Octaveならではの特徴としては以下の点があります。

 

OctaveはMATLABライブラリの代替として利用可能であり、MATLABと同じコンテキストで使用できます。

 

 

準備と設定

Octaveがインストールされていれば、Enterprise Architectはレジストリからその場所を読み込んで自動的に呼び出します。

 

 

利用方法

値の割り当て

octave.set関数を使用して値を代入できます。例えば、以下のようになります。

    octave.set('simple_value', 3.14);

    octave.set('example_sequence', [0, 1, 2]);

    octave.set('identity',  [[1, 0], [0, 1]]);

作成

ソルバーのコンストラクタに'octave'を渡すことで、Octaveに接続された新しいソルバーを作成します。以下のようになります。

    var octave = new Solver('octave');

値の取得

octave.get関数を使用して、matlabから結果を取得します。例えば、以下のようになります。

    var simple_value = octave.get('simple_value');

    var example_sequence = octave.get('example_sequence');

    var identity= octave.get('identity');

関数の呼び出し

Solver.execの最初の引数として関数名を渡します。

第2引数に関数のすべての引数を配列で渡します。

戻り値を受け取りたい場合には、第3引数に0以外の値を指定してください。

    var sequence = octave.exec('linspace', [0, 10, 1001],1);

ステートメントの実行

Solver.execへの第1引数に'script' を渡します。

第2引数に、Octaveのステートメント全体を文字列として渡します。

 

octave.exec('script', 't = 0:0.1:6.3;');

octave.exec('script','plot (t, cos(t), "-;cos(t);", t, sin(t), "-b;sin(t);");');

トレース

トレース文はシミュレーション中の任意のタイミングで、指定された内容を出力するために利用できます。シミュレーションの実行中に追加の情報を出力することで、ログとして活用できます。

 

Trace()の実行結果はシステム出力サブウィンドウに出力されます。

 

以下の内容は、Trace()を利用した例です。

 

octave.set('simple_value', 3.14);

var pi = octave.get('simple_value');

Trace( "PI = " + pi ); // output that value to the Simulation Window

 

 

参照: