ベクタ(x,y)の長さ
ベクタ(x,y)の長さを求めるには平方根が必要になるが、数%の精度でよければ1次式の近似でも十分である。
◇
基本的なアイデアは、ベクタ(x,y)の長さの式
は3次元座標(x,y,z)で見ると円錐なので、角錐で近似するというものである。
角錘は、近似式の値域が真値を超えないように、円錐に外接するものを選ぶ。
半径zの円に外接する直線の式は、法線方向を(cosα,sinα)とすると
長さを求めているのでx,yは第1象限(0<α<π/2) だけ考えればよく、さらに|x|<|y|の領域(π/4<α<π/2)は|y|<|x|の領域のcosαとsinαを入れ替えればよいので、結局、近似式は次のようになる。
誤差が最大になるのはx軸上であり、真値に対して相対誤差=(1-cosα)である。
◇◇
(1) 8角錐の場合、相対誤差8%
範囲 |
α |
cos α |
sin α |
cos αの近似値 |
sin αの近似値 |
|y|<|x| |
π/8 |
0.924 |
0.383 |
59/64 =0.922 |
49/128 =0.383 |
(2) 16角錐の場合、相対誤差2%
範囲 |
α |
cos α |
sin α |
cos αの近似値 |
sin αの近似値 |
|y|<|x/2| |
π/16 |
0.981 |
0.195 |
251/256 =0.980 |
25/128 =0.195 |
|x/2|<|y|<|x| |
3π/16 |
0.831 |
0.556 |
213/256 =0.832 |
71/128 =0.555 |
(3) 32角錐の場合、相対誤差0.5%
範囲 |
α |
cos α |
sin α |
cos αの近似値 |
sin αの近似値 |
|y|<|x/4| |
π/32 |
0.995 |
0.098 |
255/256 =0.996 |
25/256 =0.098 |
|x/4|<|y|<|x/2| |
3π/32 |
0.957 |
0.290 |
245/256 =0.957 |
37/128 =0.289 |
|x/2|<|y|<|3x/4| |
5π/32 |
0.882 |
0.471 |
113/128 =0.883 |
121/256 =0.473 |
|3x/4|<|y|<|x| |
7π/32 |
0.773 |
0.634 |
99/128 =0.773 |
81/128 =0.633 |