FC2ブログ

# 逆双曲線正割(近似) Inverse Hyperbolic Secant Approximation
# 引数 値 ($X)
# 戻り値 逆双曲線正割 ($InverseHyperbolicSecantApproximation)
sub INVERSEHYPERBOLICSECANT{
my ($X) = @_;
my $InverseHyperbolicSecantApproximation = 0;
my $Sum = 0;
my $Num = 0;
my $Den1 = 0;
my $Den2 = 1;
my $Den3 = 0;
my $Ln2X = 0;
my $NumFactorial = 1;
my $DenFactorial = 1;
my $Expansion = 20;

# 値の確認
if(($X <= 0) || (1 < $X)){
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 Secant
$InverseHyperbolicSecantApproximation = $Ln2X - $Sum;

return $InverseHyperbolicSecantApproximation;
}


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

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

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

検索フォーム


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