FC2ブログ

# 逆正接(近似) Inverse Tangent Approximation
# 引数 値 ($X)
# 戻り値 逆正接(ラジアン) ($InverseTangentApproximation)
sub INVERSETANGENT{
my ($X) = @_;
my $InverseTangentApproximation = 0;
my $Y = ($X * $X) / (1 + ($X * $X));
my $PowerY = 0;
my $Sum = 0;
my $Num = 1;
my $Den = 1;
my $Pi = atan2(1, 1) * 4;
my $Pi2 = $Pi / 2;
my $Expansion = 20;

for(my $i = 0; $i <= $Expansion; $i++){
# 累乗
$PowerY = $Y ** $i;

if($i != 0){
# 分子
$Num = $Num * (2 * $i);

# 分母
$Den = $Den * ((2 * $i) + 1);
}

$Sum += (($Num / $Den) * $PowerY);
}

# 逆正接(近似) Inverse Tangent
$InverseTangentApproximation = ($Y / $X) * $Sum;

return $InverseTangentApproximation;
}


参考URL
Inverse trigonometric functions - Wikipedia, the free encyclopedia
Inverse Tangent -- from Wolfram MathWorld

一言
2付近から誤差が出る
誤差を小さくするにはどうしたらいいんだ?
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS