FC2ブログ

# フレネル余弦積分 Fresnel Cosine Integral
# 引数 値 ($X)
# 戻り値 フレネル余弦積分 ($FresnelCosineIntegral)
sub FRESNELCOSINEINTEGRAL{
my ($X) = @_;
my $FresnelCosineIntegral = 0;
my $FresnelCosine = 0;
my $PrevFresnelCosine = 0;
my $Sign = 0;
my $Num = 0;
my $Den = 0;
my $PowerX = 0;
my $Pi = atan2(1, 1) * 4;
my $Pi2 = ($Pi / 2);
my $Factorial = 1;
my $Limit = 100;
my $Epsilon = 1.0e-10;

for(my $i = 0; $i < $Limit; $i++){
# 符号
$Sign = (($i % 2) == 0 ? 1: -1);
# 累乗
$PowerX = $X ** ((4 * $i) + 1);
# 分子
$Num = $Pi2 ** (2 * $i);
# 分母
$Den = ((4 * $i) + 1);
# 分母 階乗
if($i != 0){
for(my $j = (2 * $i); $j > (2 * ($i - 1)); $j--){
$Factorial = $Factorial * $j;
}
}

# 一つ前
$PrevFresnelCosine = $FresnelCosine;
# フレネル余弦積分 Fresnel Cosine Integral
$FresnelCosine += ($Sign * ($Num / ($Den * $Factorial)) * $PowerX);

# 収束判定
last if(abs($FresnelCosine - $PrevFresnelCosine) < $Epsilon);
}

# フレネル余弦積分 Floor Function
$FresnelCosineIntegral = $FresnelCosine;

return $FresnelCosineIntegral;
}


フレネル余弦積分

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

参考URL
Fresnel integral - Wikipedia, the free encyclopedia
フレネル余弦積分 C(x) - 高精度計算サイト
Abramowitz and Stegun. Page 301
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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