見出し画像

逐次代入法

いかにも読者を遠ざけそうなタイトルですね。「ちくじだいにゅうほう」と呼びます。

今回の記事で言いたいことは、人生においても逐次代入法は使えるというお話です。

意味が全然わからないと思いますが、話を先に進めていきます。

まずは、みなさんが大嫌いであろう数学のお話から。




方程式には厳密に解けるもの(解析的とか代数的に解けるとも言ったりします)と、解けないものがあります。

厳密に解けるものの例として、

$$
2x-6=0
$$

答えはx=3

とか


$$
x^2-5x+6=0
$$

答えはx=2,3

みたいな2次方程式もあります。


中学校で1次方程式と2次方程式の解の求め方は、みなさん習ったと思います。



しかし以下のような方程式は、手でガリガリ計算して解を求めることはできません

$$
x - \cos x=0
$$

cosが出てきて、また読者が離れたかも。


こういう問題は、数値的に解くしかないんですね。数値的に解くとは、パソコンとか計算機を使って真の解に近い値を求めることを指します。

その一つの手法として、逐次代入法があるんですね。

ではどんな感じで数値的に解くのかを、実際にやってみようと思います。言葉で語られるより、具体的なステップを見ていった方が分かりやすいと思うので。



逐次代入法の概要


まず、方程式を

$$
x = f(x)
$$

の形になおします。$${f(x)}$$は、$${x}$$のある関数という意味です。

$${x-\cos x = 0}$$の方程式の場合だと、$${f(x)=\cos x}$$になります。



次に、解の予測値を右辺の$${f(x)}$$の$${x}$$に代入します。これは予測値なので、なんとなくで決めます。

予測値として、$${x_1=1}$$としましょう。

$${x}$$の下に1という数字を添えたのは、1番目に代入した解という意味だからです。



代入すると、$${f(x_1)}$$の値が得られます。

そしてここからが逐次代入法のミソで、得られた$${f(x_1)}$$を新しい解$${x_2}$$とします。

今までのステップを数式で書くと、

$$
x_1 = 1 \\
x_2 = \cos x_1
$$

です。


またさらに、得られた$${x_2}$$を$${f(x)}$$に代入し、出てきた値を新しい解$${x_3}$$とします。

$$
x_1 = 1 \\
x_2 = \cos x_1 \\
x_3 = \cos x_2
$$

というように。

これを繰り返していきます。新しい解と1つ前の解の差が、とても小さくなるまでです。そうやって、真の解にだんだんと近づいていきます。



解が本当に近づいているのかを、値として見た方が分かりやすいと思うのでグラフ化してみました。

pythonでコードを書いて、出力しました。


縦軸は解の値で、横軸は何番目に代入した解なのかを表しています。20回目くらいで、ほとんど収束していますね。

最終的な解は、0.7390822985224024となりました。



読者を置き去りにしているのを、自分でもひしひしと感じていますが、逐次代入法の説明は以上です。

こんな数値計算の話に興味を持って読んでいる人は、ほぼ皆無に近いと思いますが、ここからはこの逐次代入法を実生活に当てはめたいと思います。

数式の話、しんどかったですよね。書いてて、自分でもそう思いましたから。



実生活にも当てはめてみる


ここからが、一番書きたかったことです。

逐次代入法を研究の数値計算で使っていた時に、この逐次代入法の考え方が、人生でも応用できそうだなと思いました。

先ほどは逐次代入法の説明をつらつら書いていましたが、大まかな考えは以下の通りです。


  1. 手計算では解けない問題がある!

  2. とりあえず最初に予測値を決め、方程式から解を更新していく

  3. 新しい解と、その一つ前の解の差がほとんどなくなるまで繰り返す

  4. 収束すれば、真に近い解をゲットすることに成功!!


かなり単純化しましたが、簡単に言うとこの操作をやっていたわけです。



そして、人生においても、この逐次代入法の考え方は大切だと思いました。

すぐに解決策が思いつかないような、壁にぶち打ちあたってしまった状況があるとします。

うんうん悩んでも、解は見えてこないような問題。


そんな時には、まず試しに何かやってみて様子を見ます。

予測値を代入するのと同じように。


すると、先ほど試した行動によって、何か反応が得られます。

この反応をもとに修正をして、再び行動に移します。

これは、解を更新することに相当する作業です。


この手順を繰り返していくと、徐々に解決策に近づいていくはずです。

さっきのせたグラフみたいに、初めは解が上下に振動するけど、回数を重ねるごとに収束していきます。

そして最終的には、めでたく突破口を見つけられるという論理です。



困難な状況に直面した時には足がすくみそうになるけど、まず何かやってみてその結果をもとに修正し、そのループを繰り返していけば、いずれは解決できる

逐次代入法からは、それを学びました。

煎じ詰めれば、「試行錯誤をしよう」というありふれた結論なのですが。

数値計算をする際にも、同じようなことをやっているとを伝えたくて、この記事を書きました。

やってみて初めて分かることも、たくさんありますからね。



久しぶりに理系ネタを書きましたが、またまた重量級の記事が出来上がりました。

ここまで読んでくださった方は、はたしているのでしょうか。


この記事が気に入ったらサポートをしてみませんか?