 clear all;
 close all;

 x=[1 2 2 2.5 3;
    5 6 2 6.5 9.5 3];

 l=[-1 1 -1 -1 1];

 b=[3.5 -1];
 g=3.0;

 %%%%%% classifier is x2 = 3.5 x1 + 3.0


 % Misclassified- actual is -1 predicted is 1
 den=sqrt(b*b);
 d=sign((b*x + g)/den);

 fprintf(\n\n\n%4s %8s %8s %8s\n,x1, x2, yi, ei);

 for i=1:5
   fprintf(%4.2f %8.2f %8d %8d\n,x(1,i), x(2,i), l(1,i), d(1,i));
 end


 % 1. dynamic correction to the parameters beta (b) and gamma (g)

 b = b + l(1)*x(:,1)
 g = g + l(1)

 %%%%%% we have updated classifier is 7.0 x2 = 2.5 x1 + 2.0


 % Misclassified- actual is 1 predicted is -1
 den=sqrt(b*b);
 d=sign((b*x(:,2) + g)/den)


 % 2. dynamic correction to the parameters beta (b) and gamma (g)
 b = b + l(2)*x(:,2)
 g = g + l(2)

 %%%%%% we have updated classifier is 5.0 x2 = 4.5 x1 + 3.0


 % No misclassification, no update - actual is -1 predicted is -1
 den=sqrt(b*b);
 d=sign((b*x(:,3) + g)/den)


 % 3. no correction required


 % No misclassification- original is -1 predicted is -1
 den=sqrt(b*b);
 d=sign((b*x(:,4) + g)/den)


 % 4. no correction required


 % No misclassification- original is 1 predicted is 1
 den=sqrt(b*b);
 d=sign((b*x(:,5) + g)/den)


 % 5. no correction required


 %%%%%% final classifier is 5.0 x2 = 4.5 x1 + 3.0