X1=[x1;x2;x3];
X2=X1';
k1=mean(x1); %第一类均值
k2=mean(x2); %第二类均值
k3=mean(x3);%第三类均值
k=mean(X1);%总均值向量
R1=cov(x1(:,:,:)); %x1 类协方差矩阵
R2=cov(x2(:,:,:)); %x2 类协方差矩阵
R3=cov(x3(:,:,:)); %x3 类协方差矩阵
%总的类内离散度矩阵
SW=(200/600)*R1+(190/600)*R2+(210/600)*R3;
[V,D] = eig(SW); %求取SW 的本征值和本征向量
%类间离散度矩阵
sb=(200/600)*(k1-k)*(k1-k)'+(190/600)*(k2-k)*(k2-k)'+(210/600)*(k3-k)*(k3-k)';
J1(:,1)=V(:,1)'*sb*V(:,1)/D(1,1);%判别指标,表征变化后分类性能。
J2(:,2)=V(:,2)'*sb*V(:,2)/D(2,2);
J3(:,3)=V(:,3)'*sb*V(:,3)/D(3,3);
A=[J1(:,1) J2(:,2) J3(:,3)];
[B I]=sort(A);%对J 排序,找到前两个最大值。
a=I(:,3);b=I(:,2);
U=[V(:,a) V(:,b)];% 选择最大的个特征值对应的特征矢量作出变换矩阵
U=U'
Y=U*X2;
%Y=Y';
Y1=Y(:,1:200);
Y2=Y(:,201:390);
Y3=Y(:,391:600);
Y1=Y1';
Y2=Y2';
Y3=Y3';
for i=1:200 r1(i)=Y1(i,1);end;
for i=1:200 r2(i)=Y1(i,2);end;
for i=1:190 r4(i)=Y2(i,1);end;
for i=1:190 r5(i)=Y2(i,2);end;
for i=1:210 r7(i)=Y3(i,1);end;
for i=1:210 r8(i)=Y3(i,2);end;
figure(2);
plot(r1,r2,'*',r4,r5,'o',r7,r8,'.');
title('原始数据转化到可分类特征空间');
grid on;