next up previous
Next: 7.4 例3: 手続き風の使い方 Up: 7 簡単なユーザー関数の定義の仕方と応用例 Previous: 7.2 例1: 普通の関数らしい使い方

7.3 例2: 数列

うっかりする人がいるかもしれないが、 数列というのは、変数が自然数 (あるいは整数) である関数である。

次の例では、

$\displaystyle a_0=1,\quad a_1=1,\quad
a_{n}=a_{n-1}+a_{n-2}$   $\displaystyle \mbox{($n\ge 2$)}$

で定義される Fibonacci 数列を 第 100 項まで表示して、 さらに連続する2項の比を 50 個表示したものである。

a[n_]:=a[n]=a[n-1]+a[n-2]
a[0]=1;a[1]=1                           ここまで (2行) が関数定義

a[10]                                   a[10] を計算して結果を表示
??a                                     a の中身を見る
Table[a[n],{n,100}]                     a[1],...,a[100] を表示
Do[Print[{n,a[n]},{n,0,100,10}]         a[0],a[10],a[20],...,a[100]を表示
Table[{n,N[a[n]/a[n-1],20]},{n,50}]     比を表示してみる

a[-1] を計算させようとすると、以前のMathematicaでは暴走しました!!
万一暴走させた場合は、[評価] → [評価を放棄(A)] で強制終了 (英語では [Kernel]→[Abort Evaluation(A)])


next up previous
Next: 7.4 例3: 手続き風の使い方 Up: 7 簡単なユーザー関数の定義の仕方と応用例 Previous: 7.2 例1: 普通の関数らしい使い方
Masashi Katsurada
平成23年1月30日