<< 目次を表示 >> ページ位置: シミュレーション > 数学的なシミュレーション > ソルバー > 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 |
参照: