模式识别上机实验报告.docVIP

  • 117
  • 0
  • 约8.6千字
  • 约 14页
  • 2018-12-23 发布于湖北
  • 举报
实验一、二维随机数的产生 1、实验目的 学习采用Matlab程序产生正态分布的二维随机数 掌握估计类均值向量和协方差矩阵的方法 (3) 掌握类间离散度矩阵、类内离散度矩阵的计算方法 (4) 熟悉matlab中运用mvnrnd函数产生二维随机数等matlab语言 2、实验原理 多元正态分布概率密度函数: 其中:是d维均值向量: Σ是d×d维协方差矩阵: (1)估计类均值向量和协方差矩阵的估计 各类均值向量 各类协方差矩阵 (2)类间离散度矩阵、类内离散度矩阵的计算 类内离散度矩阵:, i=1,2 总的类内离散度矩阵: 类间离散度矩阵: 3、实验内容及要求 产生两类均值向量、协方差矩阵如下的样本数据,每类样本各50个。 ,,, 画出样本的分布图; 编写程序,估计类均值向量和协方差矩阵; 编写程序,计算类间离散度矩阵、类内离散度矩阵; 每类样本数增加到500个,重复(1)-(3) 实验结果 、样本的分布图 、类均值向量、类协方差矩阵 根据matlab程序得出的类均值向量为: N=50 : m1=[-1.7160 -2.0374] m2=[2.1485 1.7678] N=500: m1=[-2.0379 -2.0352] m2=[2.0428 2.1270] 根据matlab程序得出的类协方差矩阵为: N=50: N=500: 、类间离散度矩阵、类内离散度矩阵 根据matlab程序得出的类间离散度矩阵为: N=50: N=500: 根据matlab程序得出的类内离散度矩阵为: N=50: N=500: 5、结论 由mvnrnd函数产生的结果是一个N*D的一个矩阵,在本实验中D是2,N是50和500. 根据实验数据可以看出,当样本容量变多的时候,两个变量的总体误差变小,观测变量各个取值之间的差异程度减小。 6、实验程序 clc;close all;clear all; %parameter N = 50; N_1 = 500; mu_1 = [-2,-2]; Sigma_1 = [1,0;0,1]; r_1 = mvnrnd(mu_1,Sigma_1,N); r_11 = mvnrnd(mu_1,Sigma_1,N_1); mu_2 = [2,2]; Sigma_2 = [1,0;0,4]; r_2 = mvnrnd(mu_2,Sigma_2,N); r_22 = mvnrnd(mu_2,Sigma_2,N_1); %figures figure(1); plot(r_1(:,1),r_1(:,2),.);%将矩阵r_1的第一列当成横坐标,第二列当作纵坐标。 title(样本数为50时的第一类样本分布图); figure(2); plot(r_2(:,1),r_2(:,2),.); title(样本数为50时的第二类样本分布图); figure(3); plot(r_11(:,1),r_11(:,2),.); title(样本数为500时的第一类样本分布图); figure(4); plot(r_22(:,1),r_22(:,2),.); title(样本数为500时的第二类样本分布图); %类均值向量和类协方差矩阵 m_1 = mean(r_1);%样本数为50时第一类 类均值向量 m_2 = mean(r_2);%样本数为50时第二类 类均值向量 m_11 = mean(r_11);%样本数为500时第一类 类均值向量 m_22 = mean(r_22);%样本数为500时第二类 类均值向量 sum1 = [0,0;0,0]; for n = 1:N sum1 =sum1 + (r_1(n,:)-mu_1)*(r_1(n,:)-mu_1); end E_1 = sum1/N;%样本数为50时,第一类 类协方差矩阵 sum2 = [0,0;0,0]; for n = 1:N sum2 =sum2 + (r_2(n,:)-mu_2)*(r_2(n,:)-mu_2); end E_2 = sum2/N;%样本数为50时,第二类 类协方差矩阵 sum3 = [0,0;0,0]; for n = 1:N_1 sum3 =sum3 + (r_11(n,:)-mu_1)*(r_11(n,:)-mu_1); end E_11 = sum3/N_1;%样本数为500时,第一类 类协方差矩阵 sum4 = [0,0;0,0]; for n = 1:N_1 sum4 =sum4 + (r_22(n,:)-mu_2)*(r

文档评论(0)

1亿VIP精品文档

相关文档