IterationList コマンド

IterationList( <関数>, <開始値>, <反復回数> )

長さn+1n = 反復回数)のリストを与え,その要素は開始値から始まる関数の反復である.

 f(x) = x^2 を定義した後, IterationList(f, 3, 2) を実行すると,リスト: {3, 9, 81}が出力される.

このコマンドを使えば, ak+1akkに依存するような数列を定義することもできる.入力関数fが2変数の関数で,開始値が2つの数値{s, as}のリストとすると,出力リストはas,as+1,…​.,as+nという数値の並びになる.ここで,k>s のとき,ak+1=f(k, ak)という関係が成り立つ.

f(k,a)=(k+1)*a と定義すると,この関数は階乗の再帰的定義に対応する.コマンド IterationList(f, {3, 6}, 4) は,この関数を初期値{3, 6}から4回繰り返し適用した結果のリスト{6, 24, 120, 720, 5040} を出力する.

IterationList( <式>, <変数>, …​, <開始値>, <反復回数> )

n回の反復 (nは反復回数)を行った結果の長さ n+1 のリストを出力する.このリストの要素は,与えられた開始値から始まる式の反復である.各反復では,式中の変数がリストの直前の要素に置き換えられる.変数の数だけ開始値が必要であり,それが不足している場合の結果は未定義になる.

A,Bを点とする.コマンド IterationList(Midpoint(A, C), C, {B}, 3) は,点Cを初期値Bから始めて,点Aとの中点を次々に求めることで,値C0 = B,   C1 = Midpoint(A, C0),   C2 = Midpoint(A, C1),   C3 = Midpoint(A, C2) を内部的に計算する.そして,{C0, C1, C2, C3}というリストを出力する.したがって,A = (0,0),B = (8,0)の場合,結果は{(8,0), (4,0), (2,0), (1,0)}となる.

 f0 , f1 を数値とする.IterationList(a + b, a, b, {f_0, f_1}, 5) は,出力されるのリストの最初の2つの値を開始値として設定する.その後,値はf2 = f0 + f1,   f3 = f1 + f2,   f4 = f2 + f3,   f5 = f3
f4という式に従って計算される.したがって,f0 = f1 = 1の場合,結果は{1, 1, 2, 3, 5, 8}となる.

現在,CASでは最初の構文のみがサポートされている.

こちらも参照: Iteration コマンド.