⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kl2.m

📁 这段代码是从类平均向量中提取判别信息的matlab代码
💻 M
字号:
clear;
load  MALE.txt
load  FEMALE.txt
data1=[MALE];
data2=[FEMALE];
data=[MALE;FEMALE];
      k1=mean(data1);          %第一类均值
      k2=mean(data2);    %第二类均值
      k=mean(data);

R1=cov(data1(:,1),data1(:,2));           %协方差矩阵
R2=cov(data2(:,1),data2(:,2)); 
R=cov(data(:,1),data(:,2));
SW=0.5*(R1+R2);
[V,D] = eig(SW); 
%[V1,D1] = eig(R1); 
%[V2,D2] = eig(R2); 
sb=0.5*((k1-k)'*(k1-k)+(k2-k)'*(k2-k))
J1(:,1)=V(:,1)'*sb*V(:,1)/D(1,1);
J2(:,2)=V(:,2)'*sb*V(:,2)/D(2,2);
i=1;
if J1(:,1)<J2(:,2)
    i=2;
end
                    %namida=D(i,i)
w=V(i,:)
y0=(w*k1'+w*k2')/2      %  y=w'*data'; 
L=length(data)
 for j=1:L
     xr(j,1:2)=w*data(j,:)'*w;    %/norm(w,2)data(j,:)-
 end
 figure
 plot(MALE(:,1),MALE(:,2),'*',FEMALE(:,1),FEMALE(:,2),'*',xr(1:50,1),xr(1:50,2),'*',xr(51:100,1),xr(51:100,2),'*')



% error=L-length(find((test(:,3)-result')==0));
% errorrate=error/L               % test1=0.0286; test2=0.0967
error=0;
for i=1:L
    X=data(i,1:2);
    H=w*X'; %计算判别函数值
    if (H<y0 & i<51) | (H>y0 & i>50) 
        error=error+1;
    end
end
errorrate=error/L               % test1=0.0286; test2=0.0967

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -