平方根

| コメント(0) | トラックバック(0)

[√] キーのない電卓で、ニュートン法 を実行して平方根を求める。

Newton法で、近似値 x_{n} と x_{n+1} の関係は、

f'(x_{n})(x_{n+1} - x_{n}) + f(x_{n}) = 0
よって
x_{n+1} - x_{n} = - f(x_{n}) / f'(x_{n})

f(x) == x^2 - A のとき、
x_{n+1} - x_{n} = -(x_{n}^2 - A) / 2x_{n}
= (A / x_{n} - x_{n}) / 2

したがって、A^{1/2} は以下のようにして計算できる:

[なにか][MS] ( [A][/][MR][=][-][MR][=]?[/][2][=][M+][MR] )+ [MR]

(...)+ は繰り返し。? の時点の置数が十分小さくなったら<!-- 基準明確化必要 -->終わる。

同様に、f(x) == x^3 - A のとき、
x_{n+1} - x_{n} = -(x_{n}^3 - A) / 3x_{n}^2
= (A / x_{n}^2 - x_{n}) /3

したがって、A^{1/3} は以下のようにして計算できる:

[なにか][MS] ( [A][/][MR][=][/][MR][=][-][MR][=]?[/][3][=][M+][MR] )+ [MR]

(...)+ は繰り返し。? の時点の置数が十分小さくなったら<!-- 基準明確化必要 -->終わる。


上記の各シーケンスの [=] は、機種によっては不要 (機種によってはないと期待どおりにならない)。

[なにか]: 近似値の初期値。適当に<!-- 基準明確化必要 -->選ぶ。
[A]: 平方根を求めたい値。
[x2]: 自乗。なければ [*][=] または [*][*][=] (機種によって違う) で代用する。
[x3]: 3乗。なければほかの方法で代用する。
[1/x]: 逆数。なければ [/][=] または [/][/][=][=] (機種によって違う) で代用する。
[MS]: 置数をメモリに入れる。ない場合は [M+] で代用する。
[M+]/[M-]: 置数をメモリに加算/減算。
[M-] がない場合は、 [+/-][M+]、 [-][M+]、 [-][=][M+] (機種によって違う) で代用する。
[MR]: メモリを置数に呼び出す。機種によっては [RM] と表記する。
[MR]、[RM] がなく、[MRC]、[RM/CM] (メモリを置数に呼び出してクリア) といったキーしかない機種もある。


トラックバック(0)

トラックバックURL: http://hatuka.nezumi.nu/cgi-bin/mt/mt-tb.cgi/17

コメントする

このブログ記事について

このページは、Hatuka*nezumiが2005年11月23日 16:46に書いたブログ記事です。

ひとつ前のブログ記事は「タール坑 (tarpitting; Teergrubing)、その他の検査」です。

次のブログ記事は「円周率」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。