FC2ブログ

# 逆双曲線余弦(近似) Inverse Hyperbolic Cosine Approximation
# 引数 値 ($X)
# 戻り値 逆双曲線余弦 ($InverseHyperbolicCosineApproximation)
sub INVERSEHYPERBOLICCOSINE{
my ($X) = @_;
my $InverseHyperbolicCosineApproximation = 0;
my $Sum = 0;
my $Num = 0;
my $Den1 = 0;
my $Den2 = 0;
my $Den3 = 0;
my $Ln2X = 0;
my $NumFactorial = 1;
my $DenFactorial = 1;
my $Expansion = 20;

# 値の確認
if($X <= 1){
return 0;
}

$Ln2X = log(2 * $X) / log(exp(1));

for(my $i = 1; $i <= $Expansion; $i++){
# 分子
$Num = $X ** (-(2 * $i));
# 分母
$Den1 = 2 ** (2 * $i);
$Den3 = (2 * $i);

if($i != 0){
# 分母 階乗
for(my $j = (2 * $i); $j > (2 * ($i - 1)); $j--){
$NumFactorial = $NumFactorial * $j;
}

# 分母
$DenFactorial = $DenFactorial * $i;

$Den2 = $DenFactorial * $DenFactorial;
}

$Sum += (($NumFactorial / ($Den1 * $Den2)) * ($Num / $Den3));
}

# 逆双曲線余弦(近似) Inverse Hyperbolic Cosine
$InverseHyperbolicCosineApproximation = $Ln2X - $Sum;

return $InverseHyperbolicCosineApproximation;
}


参考URL
Inverse hyperbolic function - Wikipedia, the free encyclopedia
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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