function [ w,b,k ] = feilei2d(X,Y,a)
l=0;num=0;
l=length(Y);
num=numel(X)/l;
w=zeros(1,num);
b=0;
[ w,b,k ] = feilei(X,Y,w,b,a);
while k>0
[ w,b,k ] = feilei(X,Y,w,b,a);
end
end
function [ w,b,k ] = feilei(X,Y,w,b,a)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
k=0;
R=0;
Rmax=0;
l=0;
l=length(Y);
num=numel(X)/l;
for i=1:l
R=dot(X(:,i),X(:,i));
if R>Rmax
Rmax=R;
end
end
for i=1:l
if Y(i)*(dot(w,X(:,i))+b)<=0
w=w+transpose(a*Y(i)*X(:,i));
b=b+a*Y(i)*Rmax;
k=k+1;
end
end
end