ランダムなメモランダム

雑草のような雑念と雑考

反復関数におけるMathematicaの応用例

 こんな反復式の数値計算をどうやるか?

通常のNestは当てはめるのが難しい。
Foldを使う。
 まず、二変数で定義する。

f2[x_, a_] := Sqrt[x + a]

その上で、Foldをこうやって反復して関数に入力すればいい。

Fold[f2, x, Reverse[Table[1/2^k, {k, 1, 5}]]]

xが残るが、これをパターンで消去する。

N[Fold[f2, x, Reverse[Table[1/2^k, {k, 0, 15}]]] /. x -> 0, 30]

 近似値は「1.51180513083290949508887633387」
どうやら収束するのではなかろうか。
 他方、逆のケースを考えてみると面白い。

これも収束するようである。
「1.78316580926409888271030499226...」


始めの極限値とそれほど差がないのも興味深い。