clear; clc;
N = 10; w = 0.5*ones(1,N); eta = 0.7; tol = 1.0e-7; err = 1;
E = inline('0.5*sum((w - [1:N]/N).^2)', 'w', 'N');
dEdw = inline('xx - tt', 'xx', 'tt');
fprintf('W(1) = (%f,%f,%f,%f,%f,%f,%f,%f,%f,%f), E(W(1))=%f \n', w, E(w,N));
cost1 = E(w,N);
k = 1;
while err>tol
 for i=1:N
  new_w(i) = w(i) - eta * dEdw(w(i), i/N);
    end
    cost2 = E(new_w,N);
    err = cost1 - cost2;
    cost1 = cost2;
 w = new_w;
 fprintf('W(%d) = (%f,%f,%f,%f,%f,%f,%f,%f,%f,%f), E(W(%d))=%f \n', k+1, w, k+1, E(w,N));
    k = k + 1;
end