MATLAB中的正常分布计算



我尝试计算正常的pdf,但是因为我从协方差矩阵中获得0,我的所有计算都混乱了。我该如何处理这个问题>是否有其他近似方法来正态分布?

由于您没有提供任何合理的信息,您的问题到底是什么,我将尝试通过两种方式回答您的问题。


您有一些数据点,想估计其发行参数

假设您的数据在向量Y中,您只能做

mu = mean(Y);
sigma = std(Y);

如果我们谈论的是多元正常分布,则必须由cov替换std并获得协方差矩阵。如果您有std(Y) == 0,则始终记录相同的值。在这种情况下,估计分布是微不足道的 - 只需将记录值的概率作为一个分布。在多元情况下,您的矩阵对角线上不应该有零 - 否则,您再次在此变量中具有相同的值。


您有一些分布参数,并希望计算相应的分布函数:

在这种情况下,您只能调用内置MATLAB函数normpdf

normpdf(X,mu,sigma)

X是要评估at和 mu函数的点的向量, sigma是您的平均值和标准偏差的分布参数。但是请注意,sigma必须更大(否则分布将非常退化)

对于多元案例,您可以使用

mvnpdf(X,MU,SIGMA)

Sigma是协方差矩阵。

所有这些功能都可以在MATLAB文档中找到。

如果我的答案没有帮助您,您当然应该重新解决您的问题。

最新更新