FC2ブログ

# 逆正弦(近似) Inverse Sine Approximation
# 引数 値 ($X)
# 戻り値 逆正弦(ラジアン) ($InverseSineApproximation)
sub INVERSESINE{
my ($X) = @_;
my $InverseSineApproximation = 0;
my $Sum = 0;
my $Num1 = 1;
my $Den1 = 1;
my $Num2 = 0;
my $Den2 = 0;
my $Pi = atan2(1, 1) * 4;
my $Pi2 = $Pi / 2;
my $Expansion = 20;

# 値の確認
if($X > $Pi2){
return 0;
}

for(my $i = 0; $i <= $Expansion; $i++){
# 分子
$Num2 = $X ** ((2 * $i) + 1);
# 分母
$Den2 = (2 * $i) + 1;

if($i >= 2){
# 分子
$Num1 = $Num1 * ((2 * $i) - 1);
}
if($i != 0){
# 分母
$Den1 = $Den1 * (2 * $i);
}

$Sum += ($Num1 / $Den1) * ($Num2 / $Den2);
}

# 逆正弦(近似) Inverse Sine
$InverseSineApproximation = $Sum;

return $InverseSineApproximation;
}


http://blog-imgs-36.fc2.com/a/m/a/amamiyaprog/InverseSine1.txt

参考URL
Taylor series - Wikipedia, the free encyclopedia
Inverse trigonometric functions - Wikipedia, the free encyclopedia
Inverse Sine -- from Wolfram MathWorld

一言
下のを使うと0.5付近からMath::Trigのasinで出した値と誤差が大きくなる
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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