w1=[0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0];
w2=[7.1 -1.4 4.5 6.3 4.2 1.4 2.4 2.5 8.4 4.1;4.2 -4.3 0.0 1.6 1.9 -3.2 -4.0 -6.1 3.7 -2.2];
%normalized
ww1=[ones(1,size(w1,2)); w1]; %size(w1,2)->指的是w1有10列)
% NO=size(w1,2)
%
% NO =
%
% 10
% A=ones(1,size(w1,2))
%
% A =
%
% 1 1 1 1 1 1 1 1 1 1
% ww1=[ones(1,size(w1,2)); w1]
% %%这里的1我理解就是加长型的特征向量
% ww1 =
%
% Columns 1 through 8
%
% 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
% 0.1000 6.8000 -3.5000 2.0000 4.1000 3.1000 -0.8000 0.9000
% 1.1000 7.1000 -4.1000 2.7000 2.8000 5.0000 -1.3000 1.2000
%
% Columns 9 through 10
%
% 1.0000 1.0000
% 5.0000 3.9000
% 6.4000 4.0000
ww2=[ones(1,size(w2,2)); w2]; %size(w2,2)->指的是w2有10列
% ww2=[ones(1,size(w2,2)); w2]
%
% ww2 =
%
% Columns 1 through 8
%
% 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
% 7.1000 -1.4000 4.5000 6.3000 4.2000 1.4000 2.4000 2.5000
% 4.2000 -4.3000 0 1.6000 1.9000 -3.2000 -4.0000 -6.1000
%
% Columns 9 through 10
%
% 1.0000 1.0000
% 8.4000 4.1000
% 3.7000 -2.2000
X=[ww1 -ww2];%%知道这个地方时为什么了吧,这时候的X便是有20列的样本了
% X=[ww1 -ww2]
%
% X =
%
% Columns 1 through 8
%
% 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
% 0.1000 6.8000 -3.5000 2.0000 4.1000 3.1000 -0.8000 0.9000
% 1.1000 7.1000 -4.1000 2.7000 2.8000 5.0000 -1.3000 1.2000
%
% Columns 9 through 16
%
% 1.0000 1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000
% 5.0000 3.9000 -7.1000 1.4000 -4.5000 -6.3000 -4.2000 -1.4000
% 6.4000 4.0000 -4.2000 4.3000 0 -1.6000 -1.9000 3.2000
%
% Columns 17 through 20
%
% -1.0000 -1.0000 -1.0000 -1.0000
% -2.4000 -2.5000 -8.4000 -4.1000
% 4.0000 6.1000 -3.7000 2.2000
%initializtion of W&k
k=1;
W=ones(size(X,1),1);
% NO=size(X,1)
%
% NO =
%
% 3
% W =
%
% 1
% 1
% 1
ok=0;
%循环体设计
while(ok==0)
for i=1:size(X,2)
if (W'*X(:,i)<0)
k=k+1;
W=W+X(:,i);
break;
else%%每一次正确判断之后,都要看这是不是最后一个样本
%%如果这是最后一个样本的话,就要跳出这个循环啦
if (i==size(X,2))
ok=1;
end
end
end
end
%图示
figure(1)
plot(w1(1,:),w1(2,:),'r.')
hold on
plot(w2(1,:),w2(2,:),'*') %样本
xmin=min(min(w1(1,:)),min(w2(1,:)));
% xMin_w1=min(w1(1,:))
%
% xMin_w1 =
%
% -3.5000
% xMin_w2=min(w2(1,:))
%
% xMin_w2 =
%
% -1.4000
xmax=max(max(w1(1,:)),max(w2(1,:)));
% xMax_w1=max(w1(1,:))
%
% xMax_w1 =
%
% % 6.8000
% xMax_w2=max(w2(1,:))
%
% xMax_w2 =
%
% 8.4000
ymin=min(min(w1(2,:)),min(w2(2,:)));
% yMin_w1=min(w1(2,:))
%
% yMin_1 =
%
% -4.1000
% yMin_w2=min(w2(2,:))
%
% yMin_w2 =
%
% -6.1000
ymax=max(max(w1(2,:)),max(w2(2,:)));
% yMax_w1=max(w1(2,:))
%
% yMax_w1 =
%
% 7.1000
% yMax_w2=max(w2(2,:))
%
% yMax_w2 =
%
% 4.2000
xindex=xmin-1:(xmax-xmin)/100:xmax+1;
yindex=-W(2)*xindex/W(3)-W(1)/W(3);
%
% W =
%
% 18.0000
% -9.1000
% 7.4000
plot(xindex,yindex)%分类面