출석
 
%%% three_vaiable_book.m %%%
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');
dEdw1 = inline('6*(xx-2)','xx');
dEdw2 = inline('4*(yy-3)','yy');
dEdw3 = 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)));
 
% while문
 
tol=1.0e-10;
cost1=E(w1(1),w2(1),w3(1));
err=2.0*tol;
i=1;
while err>tol
    w1(i+1)=w1(i)-eta*dEdw1(w1(i));
    w2(i+1)=w2(i)-eta*dEdw2(w2(i));
    w3(i+1)=w3(i)-eta*dEdw3(w3(i));
    
    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)));
cost2=E(w1(i+1),w2(i+1),w3(i+1));
err=abs(cost2-cost1);
cost1=cost2;
i=i+1;
end
 
%for문
% for i=1:10
%     w1(i+1)=w1(i)-eta*dEdw1(w1(i));
%     w2(i+1)=w2(i)-eta*dEdw2(w2(i));
%     w3(i+1)=w3(i)-eta*dEdw3(w3(i));
%     
%     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)));
% end
 



숙제
%%% N_variable_book.m %%%
clear; clc
N = 10; w = 0.5*ones(1,N); eta = 0.7;
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));

tol=1.0e-10;
cost1=E(w,N);
err=tol+1;

i=1;
k=1;
while err>tol
    j=1;
   while j<N+1
       new_w(j) = w(j) - eta*dEdw(w(j),j/N);
       j=j+1;
   end
   
   cost2 = E(new_w,N);
   err = abs(cost2-cost1);
   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