いぬおさんのおもしろ数学実験室

おいしい紅茶でも飲みながら数学、物理、工学、プログラミング、そして読書を楽しみましょう

逐次近似法とは何か

 方程式★を解きましょう。代わりに、同値な★★を解いてもいいですよね。

f:id:Inuosann:20200420115441p:plain

f:id:Inuosann:20200420115500p:plain

どっち道この方程式に解の公式はありません(というより、解の公式のある方程式などごくわずかです)。数値計算でいきます。x=1としてみましょう。左辺の値は 2sin x - 2x + 1 = 2sin 1 -2・1+1 = 0.6829419696
となります。sinの値は関数電卓などで求めます。この値をxとして(x=0.6829419696として)再び左辺の値を求めます。
2sin x - 2x + 1 = 0.8962718505
この値をxとして、………と以下、これを繰り返すと
0.7694643317
0.8525724902
0.8008064547
………(2,30回繰り返す)
0.821400279
となります。この辺まで来ると同じ計算を続けても数値はあまり動きません。これでx=0.821400279が解と分かりました。実際、
2 sin 0.821400279-3・0.821400279 + 1 = -0.00000001179
ですからまあ解と言ってよいでしょう。こうして解の近似値を求める方法を逐次近似法と言います。しかしそもそもなんでこんなやり方で解が求まるのか、ということが問題です。また関数電卓で実験してみると分かりますがx=10からスタートするとうまくいきません(左辺の絶対値がどんどん大きくなってしまう)。さらに実は、最初に与えるxの値だけでなく、相手にする方程式によってもうまくいかないことがあります。この記事の一番最後で、なぜこういう方法が使えるのか簡単に説明しておきます。なお、電卓には「直前の計算結果」を参照するのに「Ans」キーといったキー(名前は機種ごとに違うかも)が用意されていることがあります。★★の形に変形されていればこのキーを使えば数値の入力の手間が省けます。
 こういう事実を知っていると、この先電卓が好きになって近似値に興味を持つようになるかも知れません。これは数学の「数値解析」という分野につながります。ちゃんと勉強したければ「数値解析」やるといいんだ、と分かれば強力なモチベーションになるでしょう。

 さて、今回紹介した方法で解が求める理由を説明しましょう。

f:id:Inuosann:20200420125616p:plain

x=aを初期値としましょう。点線をたどってx軸の 「f (a)」 に行き当たります。直線がy=xであることを利用しています。同じことを繰り返して、x軸の「f(f(a))」に行き当たります。これを何度も実行すれば f(x)=x の解にたどり着く(どんどん近づいてゆく)ことが分かるでしょう。しかも、初期値を2つのグラフの交点より右に取るとうまくいかないことも分かります。グラフの交わる角度によってうまくいかないことがあるということも図形的には明らかでしょう。

 高校の授業でこんな話を聞きたかったと思います……。