09/11/26 10:05:40
>>125
ニートのオイラがPerlでその関数を作ってみた。
引数はNORMDISTと似せているけど、最後の引数は精度。
積分は以下サイトの半無限積分を参考
URLリンク(www.cis.twcu.ac.jp)
my $probability = normdist( x => 160, mean => 170, sigma => 10, precision => 7 );
print $probability;
sub normdist {
my %param = @_;
use Math::Trig qw( pi );
my $h = 1/1_000;
my $precision = 10**-$param{precision};
my $z = ( $param{x} - $param{mean} ) / $param{sigma};
my $const = 1 / sqrt( 2*pi() );
return 1 - calc_integral( $z, $h, $precision, sub { $const * exp( -0.5 * $_[0]**2 ) } );
}