next up previous
Next: この文書について... Up: 情報処理2 第11回 まとめ Previous: 2.3 参考: 色々な 公式を比較する

3 課題7解説

課題7


二分法、Newton 法はプログラミング入門に取り上げられることを多い話題です。 ここでは Newton 法のプログラムのみ示します。

四則演算のみ使える状況で、 与えられた正数 $ a$ の平方根を $ \sqrt{a}$ を求めるには、 Newton 法が便利です。(割り算を使わずに $ \sqrt{a}$ を求めるには、 $ x-\dfrac{a}{x}=0$ の解として求める、という話もありますが)、 ここでは素朴に $ x^2-a=0$ の解として求めるプログラムを作ってみました。

変数 A を入力するところを書き足し、 F(), dfdx() を書き直すくらいで動くようになります。 確認用に SQR() を使った値の表示をします。

kadai7root-newton.bas

./kadai7prog/kadai7root-newton.BAS.utf
$ \sqrt{2}$ を求めてみる

./kadai7prog/kadai7root-newton-2.TXT.utf

修正量を毎回表示してみても面白いかも知れません。


$ \exp$ の逆関数として $ \log$ の計算をする方も同様です。 こちらは1000桁演算モードで EXP() が使えないため、 16桁程度の精度の計算しか出来ません。

kadai7log-newton.bas

./kadai7prog/kadai7log-newton.BAS.utf
$ \log{10}$ を求めてみる

./kadai7prog/kadai7log-newton.TXT.utf


next up previous
Next: この文書について... Up: 情報処理2 第11回 まとめ Previous: 2.3 参考: 色々な 公式を比較する
桂田 祐史
2012-04-30