ホーム < ゲームつくろー! < Unity/サウンド編

サウンド編
その5(補足) Newton法


 Newton法は解析的に解を求める事が出来ない方程式を数値計算で解くための方法の一つです。Newton法を使うには、元となる方程式f(x)、その微分式f'(x)そして初期値となる値x0が必要です。

 例として f(x) = x^2 - 1 = 0 という方程式をNewton法で解いてみましょう。もちろん、この方程式は解析的に解く事が出来て、x=±1である事は分かっています。

 Newton法は初期値x0を種としてそれをどんどん解の方へ近づけてくれます。その計算は以下の漸化式を用います:

具体的に先程の式でテストしてみましょうか。Excelで計算するとこんな感じになりました:

x f(x) f'(x)
2 3 4
1.25 0.5625 2.5
1.025 0.050625 2.05
1.000304878 0.000609849 2.000609756
1.000000046 9.29223E-08 2.000000093
1 2.22045E-15 2
1 0 2

こんな感じで単調な関数ならあっという間に収束してしまいます。ただし、初期値によってどこに収束するかはほぼ決まります。上の式は本当はx=-1も解なのですが、そこへはこの初期値(x0=2)だと辿りつく事は出来ません。