matlab编程问题,题目如下:

题目:假设新的训练样本服从二维正态分布,请用最大似然估计法估计出训练样本的均值向量协方差矩阵

用matlab编程实现,??

mu=[0 0];
S=[0.3 0;0 0.35];
N=10000;
data=mvnrnd(mu,S,N); %以上是产生二维正态分布随机数10000组
%如果你有数据,就不用上面的几句,直接代入你的数据就可以了
%数据应该是N组[x,y]数据

me=mean(data); %最大似然估计均值向量
S11=1/N*sum((data(:,1)-me(1)).^2);
S12=1/N*sum((data(:,1)-me(1)).*(data(:,2)-me(2));
S22=1/N*sum((data(:,2)-me(2)).^2);

Se=[S11 S12;S12 S22]; %最大似然估计协方差矩阵

得到的me应该和mu相近,Se应该和S相近
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答