高斯分布函数对程序和数学的不同答案

Gaussian distribution function different answer for program and math

我写了一个实现高斯分布函数的代码。

代码块

import java.lang.Math.*;
public class gauss {
public static void main(String args[]){

    gauss c = new gauss();
    c.gu1(5.0,3.0,2.0);



}
public static double gu1(double mu,double sigm2,double x)
{
    double a;
    
    a=1/(Math.sqrt(2*Math.PI))*sigm2;
    double b;
    
    b= Math.exp(-0.5)*(Math.pow(((x-mu)/sigm2)),2);
    double z= a*b;
    System.out.println(z);
    return(z);
    }
}

输入:x = 2,μ = 5 和 σ = 3 输出:0.7259121735574301

但是,如果我用笔和纸从数学上解决它,我得到的答案是 0.0805。

我没发现为什么编程答案和人工答案会有这么大的差异?

高斯分布公式

ab 的表达式是错误的。应该是

a=1/(Math.sqrt(2*Math.PI))/sigm2;
b= Math.exp(-0.5*Math.pow((x-mu)/sigm2,2));