fisher线性判别matlab代码.docx

上传人:小飞机 文档编号:3060953 上传时间:2023-03-10 格式:DOCX 页数:8 大小:38.26KB
返回 下载 相关 举报
fisher线性判别matlab代码.docx_第1页
第1页 / 共8页
fisher线性判别matlab代码.docx_第2页
第2页 / 共8页
fisher线性判别matlab代码.docx_第3页
第3页 / 共8页
fisher线性判别matlab代码.docx_第4页
第4页 / 共8页
fisher线性判别matlab代码.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《fisher线性判别matlab代码.docx》由会员分享,可在线阅读,更多相关《fisher线性判别matlab代码.docx(8页珍藏版)》请在三一办公上搜索。

1、fisher线性判别matlab代码clearclcclose all;%m1,m2均为10个样本% m1=-0.4,0.58,0.089;-0.31,0.27,-0.04;0.38,0.055,-0.035;-0.15,0.53,0.011;-0.35,0.47,0.034;0.17,0.69,0.1;-0.011,0.55,-0.18;% m2=0.83,1.6,-0.014;1.1,1.6,0.48;-0.44,-0.41,0.32;0.047,-0.45,1.4;0.28,0.35,3.1;-0.39,-0.48,0.11;0.34,-0.079,0.14;% a) 对类别m1,m2,

2、利用fisher原则计算投影方向w% m1=0 0 0; 1 0 0; 1 0 2; 1 1 0; 0.5 0 0.5;1 0.5 0;1 0 0.5;% m2=0 0 1; 0 1 0; 0 1 1; 1 2 1;0 0.5 1;0 1 0.5; 0.5 1 2;0,1,2;0,1,1.2;0,1.2,1.3;0,0,2;0,1,2.2;1,2,0.5;1,2,0.5;1,2,0;% m1=6.3,3.3,6.0;5.8,2.7,5.1;7.1,3.0,5.9;6.3,2.9,5.6;6.5,3.0,5.8;7.6,3.0,6.6;4.9,2.5,4.5;7.3,2.9,6.3;6.7,2.

3、5,5.8;7.2,3.6,6.1;6.5,3.2,5.1;6.4,2.7,5.3;6.8,3.0,5.5;5.7,2.5,5.0;5.8,2.8,5.1;% 6.4,3.2,5.3;6.5,3.0,5.5;7.7,3.8,6.7;7.7,2.6,6.9;6.0,2.2,5.0;6.9,3.2,5.7;5.6,2.8,4.9;7.7,2.8,6.7;6.3,2.7,4.9;6.7,3.3,5.7;7.2,3.2,6.0;6.2,2.8,4.8;6.1,3.0,4.9;6.4,2.8,5.6;7.2,3.0,5.8;% 7.4,2.8,6.1;7.9,3.8,6.4;6.4,2.8,5.6;6.

4、3,2.8,5.1;6.1,2.6,5.6;7.7,3.0,6.1;6.3,3.4,5.6;6.4,3.1,5.5;6.0,3.0,4.8;6.9,3.1,5.4;6.7,3.1,5.6;6.9,3.1,5.1;5.8,2.7,5.1;6.8,3.2,5.9;6.7,3.3,5.7;% 6.7,3.0,5.2;6.3,2.5,5.0;6.5,3.0,5.2;6.2,3.4,5.4;5.9,3.0,5.1;% m2=5.1,3.5,1.4;4.9,3.0,1.4;4.7,3.2,1.3;4.6,3.1,1.5;5.0,3.6,1.4;5.4,3.9,1.7;4.6,3.4,1.4;5.0,3.4

5、,1.5;4.4,2.9,1.4;4.9,3.1,1.5;5.4,3.7,1.5;4.8,3.4,1.6;4.8,3.0,1.4;4.3,3.0,1.1;5.8,4.0,1.2;% 5.7,4.4,1.5;5.4,3.9,1.3;5.1,3.5,1.4;5.7,3.8,1.7;5.1,3.8,1.5;5.4,3.4,1.7;5.1,3.7,1.5;4.6,3.6,1.0;5.1,3.3,1.7;4.8,3.4,1.9;5.0,3.0,1.6;5.0,3.4,1.6;5.2,3.5,1.5;5.2,3.4,1.4;4.7,3.2,1.6;% 4.8,3.1,1.6;5.4,3.4,1.5;5.2

6、,4.1,1.5;5.5,4.2,1.4;4.9,3.1,1.5;5.0,3.2,1.2;5.5,3.5,1.3;4.9,3.1,1.5;4.4,3.0,1.3;5.1,3.4,1.5;5.0,3.5,1.3;4.5,2.3,1.3;4.4,3.2,1.3;5.0,3.5,1.6;5.1,3.8,1.9;% 4.8,3.0,1.4;5.1,3.8,1.6;4.6,3.2,1.4;5.3,3.7,1.5;5.0,3.3,1.4;7.0,3.2,4.7;6.4,3.2,4.5;6.9,3.1,4.9;5.5,2.3,4.0;6.5,2.8,4.6;5.7,2.8,4.5;6.3,3.3,4.7;4

7、.9,2.4,3.3;6.6,2.9,4.6;5.2,2.7,3.9;% 5.0,2.0,3.5;5.9,3.0,4.2;6.0,2.2,4.0;6.1,2.9,4.7;5.6,2.9,3.6;6.7,3.1,4.4;5.6,3.0,4.5;5.8,2.7,4.1;6.2,2.2,4.5;5.6,2.5,3.9;5.9,3.2,4.8;6.1,2.8,4.0;6.3,2.5,4.9;6.1,2.8,4.7;6.4,2.9,4.3;% 6.6,3.0,4.4;6.8,2.8,4.8;6.7,3.0,5.0;6.0,2.9,4.5;5.7,2.6,3.5;5.5,2.4,3.8;5.5,2.4,3

8、.7;5.8,2.7,3.9;6.0,2.7,5.1;5.4,3.0,4.5;6.0,3.4,4.5;6.7,3.1,4.7;6.3,2.3,4.4;5.6,3.0,4.1;5.5,2.5,4.0;% 5.5,2.6,4.4;6.1,3.0,4.6;5.8,2.6,4.0;5.0,2.3,3.3;5.6,2.7,4.2;5.7,3.0,4.2;5.7,2.9,4.2;6.2,2.9,4.3;5.1,2.5,3.0;5.7,2.8,4.1;% m1=-300,250,0;-500,150,-100;-700,300,0;-450,120,0;-320,-50,0;-600,100,0;0,-90

9、,0;% m2=1200,200,0;1800,-350,0;200,0,0;800,100,0;1600,-100,-200;900,100,0;400,-50,-130;300,-100,0;600,270,300;740,0,0;750,0,-200;480,25,30;550,-120,0;m1=load(data.txt);m2=load(data2.txt);u1=mean(m1);%求均值u2=mean(m2);%计算类内散度Si和总类内散度Sw% S1=(m1(1,:)-u1)*(m1(1,:)-u1)% S2=(m2(1,:)-u2)*(m2(1,:)-u2)% for i=

10、2:7% S1=S1+(m1(i,:)-u1)*(m1(i,:)-u1);% S2=S2+(m2(i,:)-u2)*(m2(i,:)-u2);% endt1=abs(m1);t2=abs(m2);t11=min(t1);t12=min(t2);t21=max(t1);t22=max(t2);e1=min(t11,t12);e2=max(t21,t22);s,i1=size(m1);t,i2=size(m2);% u,k1=size(p1);% v,k2=size(p2);One1=ones(s,1);One2=ones(t,1);S1=s*(m1-One1*u1)*(m1-One1*u1);S

11、2=t*(m2-One2*u2)*(m2-One2*u2);Sw=S1+S2;%变换向量w=inv(Sw)*(u1-u2)%b) 画出投影前的两类样本点和投影线.(即特征向量:各类方差)x1=m1(1:s,1);y1=m1(1:s,2);z1=m1(1:s,3);x2=m2(1:t,1);y2=m2(1:t,2);z2=m2(1:t,3);%subplot(1,2,1);figure(1)plot3(x1,y1,z1,r*,x2,y2,z2,b*); %plot3为三维线图title(原样本分布图);%画出原两类样本点hold onx=e1-10:(e1+e2)/100:e2+10;y=w(2

12、,1)/w(1,1)*x;z=w(3,1)/w(1,1)*x;plot3(x,y,z);%画出投影线legend(第一类样本,第二类样本,投影线,2);%rotate3D on %鼠标移动可以旋转三维坐标% c) 画出投影后的两类样本点和投影线%subplot(1,2,2);figure(2)x=e1-10:(e1+e2)/100:e2+10;y=w(2,1)/w(1,1)*x;z=w(3,1)/w(1,1)*x;plot3(x,y,z);%画出投影线hold on% 对w1中的点投影for i=1:sx1=(m1(i,1)+w(2,1)/w(1,1)*m1(i,2)+w(3,1)/w(1,1

13、)*m1(i,3)/(1+(w(2,1)/w(1,1)2+(w(3,1)/w(1,1)2);y1=w(2,1)/w(1,1)*x1;z1=w(3,1)/w(1,1)*x1;plot3(x1,y1,z1,r*); X1(i,1)=x1;X1(i,2)=y1;X1(i,3)=z1;end% 对w2中的点投影for i=1:tx2=(m2(i,1)+w(2,1)/w(1,1)*m2(i,2)+w(3,1)/w(1,1)*m2(i,3)/(1+(w(2,1)/w(1,1)2+(w(3,1)/w(1,1)2);y2=w(2,1)/w(1,1)*x2;z2=w(3,1)/w(1,1)*x2;plot3(x

14、2,y2,z2,b*); title(投影后的样本分布图);X2(i,1)=x2;X2(i,2)=y2;X2(i,3)=z2;endfor i=1:sX11(i)=w*X1(i,:);endfor i=1:tX21(i)=w*X2(i,:);endM1=mean(X11);M2=mean(X21);F=(M1+M2)/2;%分界阈值点% u=3;% for i=1:u% ai,bi,ci=input(请输入测试样本点坐标 x(i) y(i) z(i)=);% a=input(请输入测试样本点坐标 x=);% b=input(请输入测试样本点坐标 y=);% c=input(请输入测试样本点坐标 z=);% a b c=input(请输入测试样本点坐标);plot3(a,b,c,go);a=(a+w(1,1)/w(1,1)*b+w(3,1)/w(1,1)*c)/(1+(w(2,1)/w(1,1)2+(w(3,1)/w(1,1)2);b=w(2,1)/w(1,1)*a;c=w(3,1)/w(1,1)*a;L=a b c;exam=w*L;if exam>Fplot3(a,b,c,go); fprintf(i点属于第一类n);elseplot3(a,b,c,go);fprintf(i点属于第二类n);end%rotate3D on %鼠标移动可以旋转三维坐标

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号