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

2024-11-09 00:01:52
推荐回答(4个)
回答(1):

可以利用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

回答(2):

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):

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):

p = mvnpdf(x, mu, sigma)
其中x为多维向量,mu为同样的多维向量,sigma则为对应协方差矩阵
百度越来越垃圾了,回答的都是什么垃圾回复