%%    lyhyt/esim/newtonajo.m  HA  20.8.2010
% Ajotiedosto sis. Newtonin menetelman laskennan ja visualisoinnin.
close all
% funktio ja derivaatta:
f=@sin; df=@cos;   % Muuteltavat funktiot
x0=1.3;            %   ja alkuarvo
%x0=1;
x0=2;
%fplot(f,[-4 pi]),hold on, grid on
fplot(f,[0 2*pi]),hold on, grid on
% Ohjelmointiopissa tehtiin yksi Newton askel newt1,
% jota "nuolinappainiteroitiin".
% Kaytetaan sita nyt for-silmukassa. 
%  Tehdaan vuorovaikutteisesti prosessin etenemista seuraten,
%   siihen pause-komento.

% Selkeinta on kirjoittaa "anonyymi" funktio"kahva" lennossa.

newt1handle=@(f,df,x) x-f(x)/df(x)

format long
X=[];
N=5;     % Muuta tarpeen mukaan
% N=7;     
for k=1:N
   X=[X x0]; 
   x0=newt1handle(f,df,x0)
   disp('Jatka ENTER:lla')
   title('Jatka ENTER:lla')
   pause()
    if k <=3
      plot([X(end) X(end) x0],[0 f(X(end)) 0],'.-r')
    end  
   text(X(end),-0.1,num2str(k-1))
end   

%% Jatkotehtava: Kunnon lopetusehto.
