FC2ブログ

# フレネル正弦積分 Fresnel Sine Integral
# 引数 値 ($X)
# 戻り値 フレネル正弦積分 ($FresnelSineIntegral)
sub FRESNELSINEINTEGRAL{
my ($X) = @_;
my $FresnelSineIntegral = 0;
my $FresnelSine = 0;
my $PrevFresnelSine = 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) + 3);
# 分子
$Num = $Pi2 ** ((2 * $i) + 1);
# 分母
$Den = ((4 * $i) + 3);
# 分母 階乗
if($i != 0){
for(my $j = ((2 * $i) + 1); $j > ((2 * ($i - 1)) + 1); $j--){
$Factorial = $Factorial * $j;
}
}

# 一つ前
$PrevFresnelSine = $FresnelSine;
# フレネル正弦積分 Fresnel Sine Integral
$FresnelSine += ($Sign * ($Num / ($Den * $Factorial)) * $PowerX);

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

# フレネル正弦積分 Floor Function
$FresnelSineIntegral = $FresnelSine;

return $FresnelSineIntegral;
}


フレネル正弦積分

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


参考URL
フレネル積分 - Wikipedia
フレネル正弦積分 S(x) - 高精度計算サイト
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

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

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

検索フォーム


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