
krok = 0.1;

% wagi do ukrytej warstwy
wagi = [0.5 0.1 0.2
        0.2 0.5 0.1];

% wagi od ukrytej warstwy do wyjscia
wost = [-1, 1, 0.5];    
    
x1 = [0 ,0,1, 1];
x2 = [0 ,1,0, 1];
yr = [-1,1,1,-1];

for w=1:345
    for z=1:4

wejscia = [1
           x1(z)
           x2(z)];
    
       war = wagi * wejscia;
       war = [1; tanh(war)];
       y = wost * war;
       y = tanh(y);
       
       % wsteczna propagacja

       %ywynik = yr(z) - y;
       %pro = (yr(z) - ywynik)*(1+ywynik)*(1-ywynik);
       pro = (yr(z) - y).*(1+y).*(1-y);
       
       % wagi wyjsciowe
       %rr = [war; 1];
       rr = war;
       vz = wost * pro;
       wost = wost + (krok * pro * (rr)');

       % wagi warstwy ukrytej

       vz=vz.*(1+(rr)') .* (1-(rr)')  * krok;
       wagi = wagi + (([1 x1(z) x2(z)]') * vz(2:size(wagi,1)+1))';

if (w>344)
sprintf('[%d,%d]=[%f]',x1(z),x2(z),y)
end;

    end;     
end;
