n回微分可能な関数f(x)は次のように表すことができる
この式をよく見ると右辺の分数部分は単なる定数です。ということは 微分さえできれば、どんな関数でも
の形で表せるということです。しかも、階乗は急速に大きくなるので 右端へ行けば行くほど定数の値は限りなく0に近づくでしょう。 (数学的に今の表現が正しいかどうかわかりません。でも直感的に わかりますね。)f(x) = a + bx + cx2 + ・・・・ (a,b,cは定数)
「それが、一体プログラミングとどー関係があるの?」
まー、もう少し我慢していてください。要するに、何回も 微分できる関数なら簡単な形に書き直せる(近似できる) という話です。では、具体的な例を見てみましょう。 微分しても形が変わらないのは、
が有名ですね。eというのは自然対数の底でe=2.7182818...です。 高校の時「フナーハチニハチイチハチ・・・」などとゴロで 暗記した記憶はありませんか?(えっ?そんなの知らないって?)ex
そこで、f(x)=ex
とおき、x=1を代入するとどうなるでしょう。
となります。これは電卓で計算できます。 まず、1をメモリーに入れます。次にこれを1で割った値を メモリーにいれます(M+)。次にこれを2で割ります。 この値をM+します。次にこれを3で割ります。M+します。 4で割ります。M+します。こうしていって表示される値が 0になったらメモリー・コールボタンを押せばeの値の 近似値が求められます。(今の計算の意味が分かったでしょうか?) ちなみに、手元にある電卓で今の計算を実行すると 2.7182814となります。これをコンピュータにやらせてみましょう。e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + ・・・
jで計算回数を増やしていきます。
x は階乗の逆数でこれをどんどん足していけば
eの値に近づきます。
1回計算が終わった時点でeやxを1に戻すのを忘れては
いけません。
小数点以下20桁まで計算させていますが、 計算回数を増やせばいくらでも近似値が 得られるかというとそうではありません。
ある資料によると
e=2.718281828459045235360287471352662497.....
だそうです。
左の計算結果では最後の下2桁あたりは怪しいですね。
Update Dec/22/1996 By Y.Kumei