function getNormalDensity($u_stand){ if($u_stand<-3.99)return 0; if($u_stand>3.99)return 1; $foot=-3.99; $step=0.01; $result=0.000033; for($i=$foot+$step;$i<$u_stand;$i+=$step){ $result+=(1/sqrt(2*pi())*exp(-$i*$i/2)/100); } return round($result,6); } echo getNormalDensity(-4.00)."<br />"; echo getNormalDensity(-3.99)."<br />"; echo getNormalDensity(-3.96)."<br />"; //0.000038 echo getNormalDensity(-3.49)."<br />"; //0.000245 echo getNormalDensity(0)."<br />"; //0.501994 echo getNormalDensity(3.49)."<br />"; //0.999762 echo getNormalDensity(3.99)."<br />"; //0.999967 echo getNormalDensity(4.99)."<br />";
误差还是有的