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

📄 classify.m

📁 能够实现Fisher线性判别
💻 M
字号:
function [balpha,xalpha,yalpha] = classify(x1,x2,w,bw);

[n1,d1]=size(x1);
[n2,d2]=size(x2);
kw=w(2)/w(1);
cita=atan(kw);
if w(1)<0
    cita=pi+cita;
end

pjpoint1=[];
for i=1:n1
    r1=x1(i,1);
    c1=x1(i,2);
    p1=projectline([r1 c1],w,bw,'g');
    pjpoint1=[pjpoint1,p1];
end
pjpoint2=[];
for i=1:n2
    r2=x2(i,1);
    c2=x2(i,2);
    p2=projectline([r2 c2],w,bw,'r');
    pjpoint2=[pjpoint2,p2];
end
pjpoint=[pjpoint1,pjpoint2];

palpha=mean(pjpoint);
xalpha=palpha*cos(cita);
yalpha=xalpha*kw+bw;
balpha=palpha/sin(cita)+bw;


function p = projectline(point,w,bw,cl);

kw=w(2)/w(1);

x1=point(1);
y1=point(2);
x=(x1+kw*y1-kw*bw)/(1+kw^2);
y=kw*x+bw;

pjline=line([x1,x],[y1,y],'color',cl);
hold on;

p=sqrt(x^2+(y-bw)^2);
if w(1)>0
    if x<0
        p=-p;
    end
else
    if x>0
        p=-p;
    end
end

⌨️ 快捷键说明

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