%% 16 Newtons metod och fzero
%% 16.1 Newtons metod
% Takeaways
% Metoden (Newtons) nedan som successivt tar fram nya punkter från ett startvärde och en känd funktion.
% Användningen av linearisering i metoden.
% Att metoden oftast, men  inte alltid, ger en följd av punkter som närmar sig ett nollställe till funktionen.
% Newtons metod är en metod för att bestämma en approximation till ett nollställe till en funktion f.
% Utgångspunkten är att man hittar en första approximation x_0 i närheten av ett riktigt nollställe r.
% Därefter ersätter man f med sin linearisering i x_0 (vars graf är tangenten till grafen av f i (x_0, f(x_0))) och hittar nollstället x_1 till den:
% 0 = L(x_1) = f'(x_0)(x_1-x_0) +f(x_0).
% Om f'(x_0)\not = 0, ger division med detta att
% 0 = x_1 -x_0 +\frac{f(x_0)}{f'(x_0)}
% och därför
% x_1 = x_0-\frac{f(x_0)}{f'(x_0)}
% Procecuren kan nu upprepas med x_1 och ger
% x_2=x_1 - \frac{f(x_1)}{f'(x_1)}
% Man får en följd av tal x_0,\,x_1,\ldots , x_n, \, x_{n+1},\,\ldots där nästa tal i följden fås från det föregående enligt
% x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.
% Uppgift 16.1
% a)  Beräkna (approximationer till) talen x_0,\, x_1,\,\ldots ,\, x_{15},
%   när x_0=7 respektive 2  och
% f(x)=\frac{x+\sin x}{1+\arctan^2 x}-\frac{x+2}{2}.
% b)  Samma uppgift som i  a)  när f(x) = \sqrt{|x|}
% Lösning
% a)



%
% b)



%
% Under gynsamma omständigheter visar det sig att talen i följden kommer godtyckligt nära r (som är nollstället till f(x) i vars närhet man valt startvärdet x_0). Dessutom är
% |r-x_n|\approx |x_{n+1}-x_n|=\Big|\frac{f(x_n}{f'(x_n)}\Big|.
% När ska man sluta? Om  \mbox{tol}  är en är en given tolerans med vilken man vill bestämma nollstället, ska vill vi stoppa när |r-x_n|<\mbox{tol},
%  men eftersom |r-x_n|\approx |x_{n+1}-x_n|  är det mer praktiskt att sluta när
% \Big|\frac{f(x_n)}{f'(x_n)}\Big|=|x_{n+1}-x_n|<\mbox{tol}.
%% 16.2 Implementering i Matlab
% Takeaway
% Hur man kan implementera (koda) metoden i Matlab.
% I generella termer ser implementeringen ut så här
% ALGORITM (inte riktig Matlab-kod!)
%    x = x_start   ( startvärde nära ett nollställe )
%    q = 1 + tol   ( Nåt värde på h för att få
%                          igång While-loopen (>tol) )
%    while |q| > tol
%       a = -f(x)
%       b = f'(a)
%       q = a / b
%       x = x + q  ( uppdaterar x )
%    end
%    x
% Här är det lämpligt att använda den symmetriska differenskvoten för att beräkna  b .
%
% Uppgift 16.2
% Använd Newtons metod för att beräkna ett närmevärde till \sqrt[3]{7}, med (ungefär) fem korrekta decimaler.
% Lösning
% Talet 7^{1/3} är ett nollställe till f(x) = x^3-7.



%
%% 16.3 fzero
% Takeaway
% Matlab har ett inbyggt kommando  fzero  för att bestämma ett nollställe till en funktion i närheten av en given punkt.
% Matlab har förstås ett färdigt kommando för att bestämma ett nollställe till en funktion (med namnet)  f i närheten av en given punkt  x_start :
% fzero( f , x_start ) .
%
% Uppgift 16.3
% Använd  fzero  för att bestämma (approximationer) till alla nollställen till
% f(x) = \sin(\cosh x)
% i intervallet [0,\, 4].
% Lösning



%
%