📄 fisher520.m
字号:
% 基于Fisher准则线性分类器设计
tic
sample1=[0 3 4 3 4;
3 0 0 1 1];
sample2=[1 1 2 2 4;
3 4 3 4 2];
m1=mean(sample1,2); % 第一类样本均值
m2=mean(sample2,2);
s1=zeros(size(sample1,1)); % 第一类样本类内离散度矩阵
NUM1=length(sample1); % 第一类样本数
for i=1:NUM1
s1=s1+(sample1(:,i)-m1)*(sample1(:,i)-m1)';
end
s2=zeros(size(sample2,1));
NUM2=length(sample2);
for i=1:NUM2
s2=s2+(sample2(:,i)-m2)*(sample2(:,i)-m2)';
end
sw=s1+s2; % 总类内离散度矩阵
w=inv(sw)*(m1-m2); % 最佳投影方向
hold on
mf1=w'*m1; % 第一类投影后样本均值
mf2=w'*m2;
w0=(mf1+mf2)/2 % 分界阈值点
for i=1:size(sample1,2)
plot(sample1(1,i),sample1(2,i),'r*')
end
for ii=1:size(sample2,2)
plot(sample2(1,ii),sample2(2,ii),'b*')
end
lx1 = [0:0.01:4];
lx2 = (w0-w(1)*lx1)/w(2);
plot(lx1,lx2,'g')
title('Fisher分类结果图');
grid on
t2=toc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -