为什么我的高斯函数给出超出范围的值?

时间:2016-12-10 12:59:42

标签: matlab probability

我试图用Matlab绘制高斯图。我的代码是这样的。

  a=1/(0.1*sqrt(2*3.14))
  y1=a*exp(-1*(((X1-Mu).^2)./(2*(Sigma^2))  ))
  plot(X1,y1)

我的图表看起来像the image on link

它显示正确的形状,但y轴的值最多为4.据我所知,高斯是一个概率分布函数,因此必须始终返回0到1之间的值。因此,如果我的实现是正确的,我会感到担心吗?

2 个答案:

答案 0 :(得分:0)

是的,它是一个概率分布函数,但不需要每次都返回0到1之间的值。从下图中可以看出,高斯图取决于方差意味着

enter image description here

答案 1 :(得分:0)

您的实施是正确的。高斯是概率密度函数,它与概率分布不同。前者必须大于或等于零,但是当在整个有效X1范围内进行积分时,结果必须等于1.

概率分布是值必须小于或等于1的概率分布。

作为旁注。 Matlab的高斯概率密度和分布函数分别内置为normpdfnormcdf