09/11/29 13:23:41
>>150
JavaScriptでの実装を見つけました。
正規分布の確率計算
URLリンク(econom01.cc.sophia.ac.jp)
確率密度関数をテイラー展開して積分しているようです。
下記サイトにその説明があります。
誤差関数の近似式(その1)
URLリンク(www.geocities.jp)
同じようにPerlで実装すると、>>143よりさらに簡単になりました。
収束も早いようです。
sub normdist {
my %param = @_;
use Math::Trig qw( pi );
my $precision = 10**-$param{precision};
my $z = ( $param{x} - $param{mean} ) / $param{sigma};
my $z2 = $z * $z;
my $p = my $s = $z * exp( -0.5 * $z2 ) / sqrt( 2*pi() );
for ( my $n = 3; abs($s) > $precision; $n += 2 ) {
$s *= $z2 / $n;
$p += $s;
}
return 0.5 + $p;
}