Go言語:ニュートン法を使った演算の練習

練習実装

この問題では、ニュートン法は、 開始点 z を選び、以下の式を繰り返すことによって、 Sqrt(x) を近似します。 最初は、その計算式を10回だけ繰り返し、 x を(1, 2, 3, ...)と様々な値に対する結果がどれだけ正解値に近いかを確認してみてください。

ニュートン法を使った平方根の計算

% GOPATH=$PWD go run sample1.go
1
1.414213562373095
1.7320508075688774
2
2.23606797749979
2.449489742783178
2.6457513110645907
2.8284271247461903
3
3.1622776601683795
GOPATH=$PWD go run sample2.go
i: 1
1
i: 3
1.4142156862745099
i: 3
1.7321428571428572
i: 4
2.0000000929222947
i: 4
2.2360688956433634
i: 4
2.4494943716069653
i: 4
2.6457670441902894
i: 4
2.8284685718801468
i: 4
3.00009155413138
i: 4
3.1624556228038903

出題の通り、数列的に演算結果からの変化率をチェックする方法だと、誤差は残るが、演算の回数は減る。