用matlab求正态,高斯分布的函数值

已知均值和方差。现希望生成一个多维正态分布。并将一个具体的向量代入到该正态分布中,得到概率值。请问应该如何得到概率?(4维的分布)

可以利用matlab自带的函数mvnpdf,计算多维正态分布概率密度
具体的调用格式为
y = mvnpdf(X,MU,SIGMA)
其中X是输入的向量
MU是平均值
SIGMA是多维正态分布的协方差矩阵
返回的y即使向量X在MU和SIGMA确定的多维正态分布下的概率密度值
以你需要的4维分布为例
输入的MU应该是1x4的矩阵,例如 MU=[1,2,3,4];
四个维度的均值,这就是中心点在 (1,2,3,4)位置;
而SIGMA应该是4x4的协方差矩阵,其对角线上4个元素是分布在四维的方差
而非对角线元素是协方差,表示不同维度分布之间的相关性
如果不同维度之间的分布是互不相关的,或者说是正交的,那么非对角线元素都为0
那么SIGMA也可以简化为1x4的矩阵
而输入X则可以是nx4的矩阵,其中每一行代表一个向量
这时候返回y是nx1的矩阵,对应X中每一行向量的到的概率密度值
例如:
>> X=[0,0,0,0];MU=[1,2,3,4];SIGMA=[1,1,1,1];
>> y = mvnpdf(X,MU,SIGMA)
y = 7.7486e-09
计算(0,0,0,0)这点在四维均值为(1,2,3,4),四维方差都是1的正态分布中的概率密度
结果是7.7486e-09
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-17
N(3,9)指的是均值为3,方差为9(标准差为3)的正态分布(也称高斯分布);
N(3,9)分布可以通过N(0,1)分布(标准正态分布)得到.
假设X~N(0,1),则3X+3服从N(3,9)分布.
注意3X+3中的两个3的含义不同,第一个3表示标准差为3,第二个3表示均值为3!
Matlab中产生正态分布随机数的函数是normrnd(mu,sigma)追问

需要4维的分布,而且是要求出概率的...如何求概率

本回答被网友采纳
第2个回答  推荐于2018-04-02
N(3,9)指的是均值为3,方差为9(标准差为3)的正态分布(也称高斯分布);
N(3,9)分布可以通过N(0,1)分布(标准正态分布)得到.
假设X~N(0,1),则3X+3服从N(3,9)分布.
注意3X+3中的两个3的含义不同,第一个3表示标准差为3,第二个3表示均值为3!
Matlab中产生正态分布随机数的函数是normrnd(mu,sigma)本回答被网友采纳
第3个回答  2018-04-01
p = mvnpdf(x, mu, sigma)
其中x为多维向量,mu为同样的多维向量,sigma则为对应协方差矩阵
百度越来越垃圾了,回答的都是什么垃圾回复