📄 bayes22.m
字号:
f1=fopen('FEMALE.TXT','r');
s=textscan(f1,'%f %f');
p1=s{1}
q1=s{2}
x1(:,1)=p1
x1(:,2)=q1%得到女生样本矩阵为x1
f2=fopen('MALE.TXT','r');
t=textscan(f2,'%f %f');
p2=t{1}
q2=t{2}
x2(:,1)=p2
x2(:,2)=q2%得到男生样本矩阵为x2
y1(1,1)=var(p1,1)
y1(1,2)=0
y1(2,1)=0
y1(2,2)=var(q1,1)%得到x1的协方差矩阵y1的四个元素
y2(1,1)=var(p2,1)
y2(1,2)=0
y2(2,1)=0
y2(2,2)=var(q2,1)%得到x2的协方差矩阵y2的四个元素
z1=mean(x1)%x1的均值矩阵
z2=mean(x2)%x2的均值矩阵
r1=det(y1)%x1的协方差矩阵的行列式值
r2=det(y2)%x2的协方差矩阵的行列式值
f3=fopen('test.txt','r');
m=textscan(f3,'%f %f %c');
a1=m{1}
b1=m{2}
c(:,1)=a1
c(:,2)=b1
n=max(size(c))
for i=1:n
x=c(i,:);
p=0.5;%p为属于女生的先验概率,则1-p为男生的先验概率
g=1/2*(x'-z2')'*inv(y2)*(x'-z2')-1/2*(x'-z1')'*inv(y1)*(x'-z1')+log(r2)-log(r1)+log(p)-log(1-p);%g为判别函数
if g>0
disp('f')%判为女生
else if g<0
disp('m')%判为男生
else
disp('error')
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -