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.
还有更多的见解可以补充Leander的良好答案:
在功能之间进行比较时,最好查看其源代码或工具箱。gauss不是MathWorks编写的函数,因此对于Matlab随附的函数可能是多余的。
而且,normpdf和normrnd都是统计和机器学习工具箱的一部分,因此没有它的用户将无法使用它们。但是,从正态分布生成随机数是很常见的任务,因此只有核心Matlab的用户应该可以使用它。因此,存在是多余的功能normrnd,其是randn即核心Matlab的的一部分。
| 归档时间: |
|
| 查看次数: |
1323 次 |
| 最近记录: |