Next: 線形方程式の数値解はどこまで正しいか Up: プログラミング Previous: for文

 

関数

OctaveやScilabでのプログラミングは関数を定義することによって行う場合が多い。 関数はインタープリタとしてOctaveやScilabを動作させているときに、 コマンドラインか ら定義することもできるし、外部のファイルに記述しておき、あたかも 組み込み関数であるかのように呼び出すこともできる。このような関数の定義法 は前章まででも幾つか既に例が出ていた。ここでは、関数によるプログラミングを 組織的に学ぶ。

つぎに、Scilabにおける関数の定義の仕方について学ぼう。 Octaveと微妙に異なる面があるので注意が必要である。Scilab においては、deffコマンドを使って、オンラインで関数を定義する方法も あるが、通常関数はファイルに書き込んでおいて、それをgetfコマンドで 読み込んで使うことが多い。ここでは、この後者の方法を説明しよう。

Scilabの関数の一般形はつぎの形をしている。

   function [y1,y2,...,yn] = NAME (x1,x2,...,xm)
     BODY
例を挙げよう。Scilabを立ち上げたディレクトリにつぎの内容が書かれている ファイルsm.sciがあるとしよう。
   function [s, m] = sm(x,y)
     s = x+y;
     m = x*y;
と定義したとしよう。このとき、getfコマンドで、このファイルを Scilabの中に呼び出して、関数smを使うとつぎのようになる。
   -->getf('sm.sci')
   -->a=3;
   -->b=2;
   -->[s,m]=sm(a,b)
    m  =
       6.
    s  =
       5.



s oishi
2000-05-04