03.2 Il metodo delle Tangenti

3.2 Il metodo delle Tangenti


Il metodo delle tangenti, detto anche metodo di Newton sfrutta il Polinomio di Taylor per approssimare il valore delle funzioni. In questo caso è necessario scegliere un'approssimazione iniziale x0.

Si tratta di fatto di un metodo di linearizzazione. Infatti, come vedremo, interromperemo il Polinomio di Taylor al primo ordine, confondendo quindi il valore della funzione con il valore della tangente.

Metodo_delle_tangenti.png

☑️ Ipotesi

Per l'applicabilità del metodo di newton, la funzione deve rispettare le seguenti ipotesi:

ipotesi
  1. I è Intervallo di separazione
  2. f(x)C1(I=[a,b])
  3. f(x)0k

Algoritmo

Scelgo un'approssimazione iniziale x0.

Approssimo la funzione f(x) con un polinomio di Taylor al secondo ordine:

f(x)=f(x0)+f(x0)(xx0)+12f(τ)(xx0)2 con τ[x0,x]

Se cerco la radice di f(x) impongo la funzione approssimata uguale a 0:

f(x)=f(x0)+f(x0)(xx0)=!0

da cui

x1=x0f(x0)f(x0)

motivo per cui dobbiamo imporre anche f(xk)0 tra le #☑️ Ipotesi.

Dopodiché approssimo nuovamente la funzione con Taylor usando stavolta x1 al posto di x0:

f(x)=f(x1)+f(x1)(xx1)=!0

da cui

x2=x1f(x1)f(x1)

Continuo ad iterare questo procedimento. Avrò così, in definitiva:

xk=xk1f(xk1)f(xk1)

Il metodo convergerà per alcuni valori di x0JI (Ossia scegliendo x0 abbastanza vicino a ξ).

algoritmo

{x0Punto inizialexk=xk1f(xk1)f(xk1)

Convergenza

condizione necessaria di convergenza

Sia I=[a,b] un intervallo di separazione di uno zero di f;

Sia:

  • fC2[a,b]
  • f(x)0
  • x[a,b]

Allora esiste un intorno J di ξ, con JI, tale che, se x0J, la successione risulta convergente a ξ.

Inoltre, se fC3[a,b] l'ordine di convergenza è 2.


convergenza con estremo di fourier

Sia:

  • fC2[a,b]
  • f(a)f(b)<0
  • f(x)0

per x[a,b], sia x0 l'[[#Estremo di Fourier]] di [a,b], allora:

  1. Esiste un unico ξ(a,b), tale che f(ξ)=0
  2. La successione {φ(xn)} è monotona e converge a ξ
  3. Se fC3[a,b], la convergenza è quadratica

Estremo di Fourier

Se f(x)0xI si può dimostrare che si può scegliere uno dei due estremi di I come approssimazione iniziale x0.

Supponiamo di avere una funzione monotona, senza massimi o minimi locali, a concavità fissa.
L'estremo di Fourier di un intervallo è quello dei due tale che il prodotto f(a)f(a)>0 dove a è l'estremo.

Ordine di convergenza

ordine di convergenza per tangenti

p=2

Per calcolare l'ordine di convergenza devo calcolare il limite:

limk|ek+1||ek|p=C>0p1

Calcolo |ek+1|:

|ek+1|=ξxk+1=(ξf(ξ)f(ξ))xk+1

essendo f(ξ)f(ξ)=0 perché f(ξ)=0.

|ek+1|=ξxk+1=(ξf(ξ)f(ξ))xk+1==(ξf(ξ)f(ξ))(xkf(xk)f(xk))==(ξxk)(f(ξ)f(ξ)f(xk)f(xk))=

Sviluppando f(xk) e f(xk) in serie di Taylor e ricordando ξxk=ek ottengo:

|ek+1|=|ek(f(ξ)f(ξ)f(ξ)+f(ξ)(ek)+12f(ξ)ek2f(ξ))|=12|f(ξ)f(ξ)||ek2|

Si ha quindi che

|ek+1||ek|pp=212|f(ξ)f(ξ)|

quindi

limk|ek+1||ek|2=12|f(ξ)f(ξ)|

Allora l'ordine di convergenza del metodo delle tangenti è p=2.

Implementazione in Matlab

function xk = tangenti(x0,f, df, N_max)

% Input:
%   x0: approx iniziale
%   f, df: funzione e derivata
%   N_max: numero di iterazioni
% 
% Output:
%   xk: approx dello zero

for i = 1:N_max
    xk = x0 - f(x0) / df(x0);
    errk = abs(xk - x0);
    x0 = xk;
    fprintf('k = %3i x_k = %14.12f err=%9.3e f=%18.12f f''=%18.12f \n', i, xk, errk, f(x0), df(x0));
end

end

Metodo di Newton in Rn

Al link 03.4 Metodo di Newton in n dimensioni

Se in R possiamo riscrivere una funzione sviluppandola in un Polinomio di Taylor, lo stesso possiamo fare con Rn.

Sia F(X):RnRn, posso scrivere

F(X)=F(X(k))+JF(X(k))(XX(k))+...

dove

JF(X)=[f1x1f1x2f1xnf2x1f2x2f2xnfnx1fnx2fnxn]