数値解析と制御のためのScilab入門

数値解析と制御のためのScilab入門では、行列、微分方程式、制御などの基礎的な計算を紹介しています。また、計算結果をScilabを用いたグラフィック表示による可視化について紹介しています。

*

関数のオンライン定義 deff を使ってみる!

   

関数のオンライン定義を用いると、数式だけを呼び出して計算ができます。
関数 fuction を用いなくて済むのでプログラムを作成するうえでとても便利です。

scilabではユーザがdeffを用いて関数をオンライン定義できます。

deff(‘[出力変数]=関数名(入力変数の並び)’,’テキスト文字列(数式)’)

のようになります。deff はテキスト文字列で記述された一連の命令から関数を定義する際に使用できます。

SPONSORED LINK

関数のオンライン定義1

例として、次のような式を計算することにします
関数のオンライン定義deff

 ただし、y=3,z=2として計算することにします。

1. deff(‘[x]=fx(y,z)’,[‘a=3*y+1’; ‘x=a*z+y’])
2. y=3; z=2;
3. p= fx(y,z)

1行目で関数を提示します。関数名はfxでy,zは入力変数です。x, a の数式を記入します。Deffの後のxは出力変数名です。
2行目は入力変数の値です。
3行目のfxで関数を呼び出して、出力変数をpとしてあります。1行目では出力変数がxですが、ここでは違う変数名でも構いません。

計算結果は図のようになります。

関数のオンライン定義

関数のオンライン定義2

例として、y≒x^2 をxの値が x=-8:0.5:8 までの区間を計算することにします。ここで 0.5 はステップ幅です。

1. deff(‘[y]=fx(x)’,’y=x^2′)
2. x=-8:0.5:8;
3. [y]=fx(x);

1行目は関数の定義で、関数名はfxで、出力変数はyです。
2行目のxは行ベクトルで、xの範囲が でステップ幅を0.5として行ベクトルが作られます。
3行目のfxは関数名で,xは入力変数、yは出力変数です。ここでは、行ベクトルxを基にして関数が呼び出され、計算された結果がyとして出力されます。
yを表示するには、yと入力すると行列の要素が表示されます。


 - 数値計算, 繰り返し処理, 関数の定義

        

SPONSORED LINK

SPONSORED LINK

  関連記事

複素行列の足算
複素行列の作り方|scilab入門

複素行列の作り方についてです。 複素数とは  a + bi 、 ここで a,b …

行列
行列の対角要素を取り出す diag|scilab入門

  行列の対角要素を取り出す場合には、diagを用います。 行列の対角要素や角線 …

線形システムの定義
多項式を用いた線形システムの定義 syslin

多項式による伝達関数や線形すステムの定義は、syslinを用いて定義できます。 …

ローレンツモデルのカオス

ローレンツモデルのカオスを計算してみました。 Lorenzモデルは上下に温度差の …

多項式
多項式が有利式の場合の計算

フリーのシュミレーションソフトscilabを用いて色々な計算ができます。 常にバ …

転置行列
転置行列の表示 |scilab

転置行列の表示について 行列 Bの転置行列は、B にt を付けて表します。行の要 …

行列の成分を取り出す tril|scilab入門

行列の成分を取り出す場合には、diag、tril、triuを用います。 ・dia …

連立方程式
連立一次方程式を解いてみる|scilab入門

逆行列 inv と (¥)を用いて、簡単なの連立一次方程式を解いてみました。 次 …

 複数のグラフィック・ウィンドウを開く:scf
複数のグラフィック・ウィンドウを開く scf

グラフを重ね書きをしないで、表示させたい場合に scf を用いるととても便利です …

scilab パイi
円周率 π を表す|scilab入門

円周率 π を表す場合には、パーセントの後にpiとし  %pi のように表記しま …