Page 19 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 19

1. Artificial Intelligence                                         7

           Continued…


           v1=w*v1+c1*rand*(x(2)-x(1))+c2*rand*(capture-x(1));
           v2=w*v2+c1*rand*(y(2)-y(1))+c2*rand*(capture-y(1));
           vel1=[vel1 v1];
           vel2=[vel2 v2];

           %updating x(1) and y(1)
           x(1)=x(1)+v1;
           y(1)=y(1)+v2;

           %updating x(2) and y(2)
           if((f1(fun,x(2),y(1)))<=(f1(fun,x(1),y(1))))
           x(2)=x(2);
           else
           x(2)=x(1);
           end;
           if((f1(fun,x(1),y(2)))<=(f1(fun,x(1),y(1))))
           y(2)=y(2);
           else
           y(2)=y(1);
           end
           error=[error f1(fun,x(2),y(2))];
           w=w-w*i/ITER;
           swarm=[swarm;x(2) y(2)];
           subplot(3,1,3)
           plot(error,'-')
           title('Error(vs) Iteration');
           subplot(3,1,1)
           plot(swarm(:,1),'-')
           title('x (vs) Iteration');
           subplot(3,1,2)
           plot(swarm(:,2),'-')
           title('y (vs) Iteration');
           pause(0.2)
           end
           value=[x(2);y(2)];

           __________________________________________________________________________

           f1.m

           function [res]=f1(fun,x,y);
           s=strcat(fun,'(x,y)');
           res=eval(s);
   14   15   16   17   18   19   20   21   22   23   24