clear;clc;
w1(1) = 8; w2(1) = 10; w3(1) = 5; eta = 0.1;
E = inline('3*(xx-2)^2 + 2*(yy-3)^2 + 4*(zz-1)^2 + 3', 'xx', 'yy', 'zz');
dw1 = inline('6*(xx-2)','xx');
dw2 = inline('4*(yy-3)', 'yy');
dw3 = inline('8*(zz-1)', 'zz');
fprintf('(w1(1),w2(1),w3(1))=(%f,%f,%f), E(w1(1),w2(1),w3(1))=%f\n', w1(1),w2(1),w3(1),E(w1(1),w2(1),w3(1)));
tol = 1.0e-10; cost1 = E(w1(1),w2(1),w3(1)); err = 1; i = 1;
while err>tol
    w1(i+1) = w1(i) - eta*dw1(w1(i));
    w2(i+1) = w2(i) - eta*dw2(w2(i));
    w3(i+1) = w3(i) - eta*dw3(w3(i));
    cost2 = E(w1(i+1),w2(i+1),w3(i+1));
fprintf('(w1(%d),w2(%d),w3(%d))=(%f,%f,%f), E(w1(%d),w2(%d),w3(%d))=%f\n',i+1,i+1,i+1,w1(i+1),w2(i+1),w3(i+1),i+1,i+1,i+1,E(w1(i+1),w2(i+1),w3(i+1)));
err = cost1 - cost2;
cost1 = cost2;
i = i + 1;
end