%% Linear associator with Hebb and weight decay: PCA a la Oja
 clear; clf; hold on
 w=[0.1;0.4]; %(arbitrary) starting value 
 a=-pi/6; rot=[cos(a) sin(a);-sin(a) cos(a)]; %rotation matrix
%% Training node
 for i=1:1000
   rPre=0.05*randn(2,1).*[4;1]; rPre=rot*rPre; %training examples
   rPost=w'*rPre;  %network update
   plot(rPre(1),rPre(2),'.')
   w=w+0.1*rPost*(rPre-rPost*w); %training
   w_traj(:,i)=w; %recording of weight history
 end
%% Plotting results
 plot(w_traj(1,:),w_traj(2,:),'r')
 plot([0 w(1)],[0 w(2)],'k','linewidth',2)
 plot([-1 1],[0 0],'k'); plot([0 0],[-1 1],'k')
 axis([-1 1 -1 1]);