Lea*_*ger 7

Y = normpdf(X,mu,sigma)是具有mean mu和stdev 的正态分布的概率密度函数sigma.如果您想知道某一点的相对可能性,请使用此选项X.

R = normrnd(mu,sigma)从上面的相同分布中获取随机样本.因此,如果要根据正态分布模拟某些内容,请使用此功能.

y = gauss(x,s,m)乍一看看起来像是完全相同的功能normpdf().但是有一点点差异:它的计算是

Y = EXP(-(X-M).^2./S.^2)./(sqrt(2*pi).*S)
Run Code Online (Sandbox Code Playgroud)

normpdf()使用

Y = EXP(-(X-M).^2./(2*S.^2))./(sqrt(2*pi).*S)
Run Code Online (Sandbox Code Playgroud)

这意味着gauss()从-inf到inf 的积分是1/sqrt(2).因此,它不是一个合法的PDF,我不知道哪里可以使用这样的东西.

为了完整起见,我们还必须提及p = normcdf(x,mu,sigma).这是正常的累积分布函数.它给出了值在-inf和之间的概率x.


EBH*_*EBH 5

还有更多的见解可以补充Leander的良好答案

在功能之间进行比较时,最好查看其源代码或工具箱。gauss不是MathWorks编写的函数,因此对于Matlab随附的函数可能是多余的。

而且,normpdfnormrnd都是统计和机器学习工具箱的一部分,因此没有它的用​​户将无法使用它们。但是,从正态分布生成随机数是很常见的任务,因此只有核心Matlab的用户应该可以使用它。因此,存在多余的功能normrnd,其是randn即核心Matlab的的一部分。