clear all
close all
x = 2 + sqrt(2) * randn(2,100) %生成100个均值与方差为(2,2) 的样本库
y = -2 + sqrt(4) * randn(2,100) %生成100个均值与方差为(-2,4)的样本库
x1 = 1 + sqrt(2) * randn(2,2) %生成待测样本x1
y1 = -1 + sqrt(4) * randn(2,3) %生成待测样本y1
stablex=x; %创建x的固定备份,用于画各种图
stabley=y; %创建y的固定备份,用于画各种图
z=[x1 y1]; %将待测样本合并成一个矩阵
figure(1);
plot(stablex(1,:),stablex(2,:),'ro'); %画样本库
title('剪辑前的7判别');
hold on
plot(stabley(1,:),stabley(2,:),'b*'); %画样本库
grid on
plot(x1(1,:),x1(2,:),'gs'); %画待测样本
hold on
plot(y1(1,:),y1(2,:),'gd'); %画待测样本
k=7 %剪辑前的7判别
%for i=1:5
%tempx=stablex;
%tempy=stabley;
%x=jianji1(tempx,tempy,k);
%y=jianji2(tempx,tempy,k);
%plot(x(1,:),x(2,:),'ko');
%plot(y(1,:),y(2,:),'k*');
%end
for j=1:2:numel(z) %用于判别待测样本
q=[1:(numel(z)/2)];
g=oushi(x,z,j); %z中各点对x样本的欧距
h=oushi(y,z,j); %z中各点对y样本的欧距
q((j+1)/2)=panjue(g,h,k); %z中各点的判决情况
if j<numel(x1) %z中点原来是x1类的情况
if q((j+1)/2)==0 %z中点如果是x类
plot(z(j),z(j+1),'rs'); %红方形
else plot(z(j),z(j+1),'bs'); %蓝方形
end
else %z中点如果是y类
if q((j+1)/2)==0
plot(z(j),z(j+1),'rd'); %红菱形
else plot(z(j),z(j+1),'bd'); %蓝菱形
end
end
end
legend('x样本集','y样本集','待测样本x1(被覆盖)','待测样本y1(被覆盖)',...
'x1中第1点的归类','x1中第2点的归类','y1中第1点的归类','y1中第2点的归类','y1中第3点的归类',2);
figure(2);
plot(stablex(1,:),stablex(2,:),'ro');
title('剪辑前的1判别');
hold on
plot(stabley(1,:),stabley(2,:),'b*');
grid on
plot(x1(1,:),x1(2,:),'gs');
hold on
plot(y1(1,:),y1(2,:),'gd');
k=1 %剪辑前的1判别
%for i=1:5
%tempx=stablex;
%tempy=stabley;
%x=jianji1(tempx,tempy,k);
%y=jianji2(tempx,tempy,k);
%plot(x(1,:),x(2,:),'ko');
%plot(y(1,:),y(2,:),'k*');
%end
for j=1:2:numel(z) %用于判别待测样本
q=[1:(numel(z)/2)];
g=oushi(x,z,j); %z中各点对x样本的欧距
h=oushi(y,z,j); %z中各点对y样本的欧距
q((j+1)/2)=panjue(g,h,k); %z中各点的判决情况
if j<numel(x1) %z中点原来是x1类的情况
if q((j+1)/2)==0 %z中点如果是x类
plot(z(j),z(j+1),'rs'); %红方形
else plot(z(j),z(j+1),'bs'); %蓝方形
end
else %z中点如果是y类
if q((j+1)/2)==0
plot(z(j),z(j+1),'rd'); %红菱形
else plot(z(j),z(j+1),'bd'); %蓝菱形
end
end
end
legend('x样本集','y样本集','待测样本x1(被覆盖)','待测样本y1(被覆盖)',...
'x1中第1点的归类','x1中第2点的归类','y1中第1点的归类','y1中第2点的归类','y1中第3点的归类',2);
figure(3);
plot(stablex(1,:),stablex(2,:),'ro');
title('剪辑后的7判别');
hold on
plot(stabley(1,:),stabley(2,:),'b*');
grid on
plot(x1(1,:),x1(2,:),'gs');
hold on
plot(y1(1,:),y1(2,:),'gd');
k=7 %剪辑后的7判别
%for i=1:5
tempx=stablex; %用来剪辑的x样本
tempy=stabley; %用来剪辑的y样本
x=jianji1(tempx,tempy,k); %剪辑x
y=jianji2(tempx,tempy,k); %剪辑y
plot(x(1,:),x(2,:),'r+'); %剪辑剩下的x
plot(y(1,:),y(2,:),'b^'); %剪辑剩下的y
%end
for j=1:2:numel(z) %用于判别待测样本
q=[1:(numel(z)/2)];
g=oushi(x,z,j); %z中各点对x样本的欧距
h=oushi(y,z,j); %z中各点对y样本的欧距
q((j+1)/2)=panjue(g,h,k); %z中各点的判决情况
if j<numel(x1) %z中点原来是x1类的情况
if q((j+1)/2)==0 %z中点如果是x类
plot(z(j),z(j+1),'rs'); %红方形
else plot(z(j),z(j+1),'bs'); %蓝方形
end
else %z中点如果是y类
if q((j+1)/2)==0
plot(z(j),z(j+1),'rd'); %红菱形
else plot(z(j),z(j+1),'bd'); %蓝菱形
end
end
end
legend('x样本集','y样本集','待测样本x1(被覆盖)','待测样本y1(被覆盖)',...
'x样本集剪辑后','y样本集剪辑后','x1中第1点的归类','x1中第2点的归类','y1中第1点的归类','y1中第2点的归类','y1中第3点的归类',2);
figure(4);
plot(stablex(1,:),stablex(2,:),'ro');
title('剪辑后的1判别');
hold on
plot(stabley(1,:),stabley(2,:),'b*');
grid on
plot(x1(1,:),x1(2,:),'gs');
hold on
plot(y1(1,:),y1(2,:),'gd');
k=1 %剪辑后的1判别
%for i=1:5
tempx=stablex; %用来剪辑的x样本
tempy=stabley; %用来剪辑的y样本
x=jianji1(tempx,tempy,k); %剪辑x
y=jianji2(tempx,tempy,k); %剪辑y
plot(x(1,:),x(2,:),'r+'); %剪辑剩下的x
plot(y(1,:),y(2,:),'b^'); %剪辑剩下的y
%end
for j=1:2:numel(z) %用于判别待测样本
q=[1:(numel(z)/2)];
g=oushi(x,z,j); %z中各点对x样本的欧距
h=oushi(y,z,j); %z中各点对y样本的欧距
q((j+1)/2)=panjue(g,h,k); %z中各点的判决情况
if j<numel(x1) %z中点原来是x1类的情况
if q((j+1)/2)==0 %z中点如果是x类
plot(z(j),z(j+1),'rs'); %红方形
else plot(z(j),z(j+1),'bs'); %蓝方形
end
else %z中点如果是y类
if q((j+1)/2)==0
plot(z(j),z(j+1),'rd'); %红菱形
else plot(z(j),z(j+1),'bd'); %蓝菱形
end
end
end
legend('x样本集','y样本集','待测样本x1(被覆盖)','待测样本y1(被覆盖)',...
'x样本集剪辑后','y样本集剪辑后','x1中第1点的归类','x1中第2点的归类','y1中第1点的归类','y1中第2点的归类','y1中第3点的归类',2);
- 1
- 2
- 3
- 4
- 5
- 6
前往页