next up previous
Next: 補足説明 Up: 関数 Previous: 例1

例題1

関数 1/(1-x) の x=0 のまわりの Taylor 展開は

\begin{displaymath}{1\over 1-x} = 1+x+x^2+x^3+\ldots = \sum_{n=0}^{\infty} x^n.
\end{displaymath}

この無限級数を有限項で打ち切った関数 ${\displaystyle \sum_{n=0}^{m} x^n}$ (第m項までの部分和) のグラフを描かせるプログラム.
       10 'First few terms of Taylor expansion
      100 '*** graphic initialization
      120 cls
      130 screen 1:console 0,25,0
      140 x1=-1.5:x2= 2.0:'<-- range of X ( X1 < X2 )
      150 y1=-1.0:y2= 10.0:'<-- range of Y ( Y1 < Y2 )
      160 window (x1,y2)-(x2,y1)
      170 line (x1,0)-(x2,0),7:'<-- x-axis
      180 line (0,y1)-(0,y2),7:'<-- y-axis
      200 '*** plotting
      210 n=640
      220 dx=(x2-x1)/n
      230 input "m=";m
      510 pset (x1,fnF(x1,m)),1
      520 for i=1 to n
      530   x=x1+i*dx
      540   line -(x,fnF(x,m)),1
      550 next
      999 end
     1000 *** definition of function
     1005 fnF(x,m)
     1010   local n,s
     1020   s=0.0
     1030   for n=0 to m
     1040     s=s+x^n
     1050   next
     1060 return(s)
230行目の input は,プログラム実行時に変数に値を代入したいとき に使う.プログラムを書いたら適当な名前で保存しておこう.それから run してみよう (m の値をだんだん増やしていくとどうなるか観 察しよう).

510行目では第一引数を x1 として関数を呼んでいる. また変数 n はメインプログラム中でも使われている (210行目) し, 関数定義の中でも使われている (1030行目).しかし関数定義中の n は local 変数なのでメインプログラム中の n とは関係ない (影響を及ぼ さない) のだ.

なお,このプログラムの最初の部分 (100〜180行) は, グラフィックを利用するときにいつでも使えるので,この部分だけファイルに 保存しておくと便利だ (いつでも再利用できるように).



 

A document of Makoto Idzumi compiled by Y.Tsuchimoto