Vai al contenuto

Soluzione degli esercizi sul metodo di Newton

Da Wikiversità, l'apprendimento libero.
Soluzione degli esercizi sul metodo di Newton


Analisi numerica > Soluzione degli esercizi sul metodo di Newton

esercitazione
esercitazione
Soluzione degli esercizi sul metodo di Newton
Tipo di risorsa Tipo: esercitazione
Materia di appartenenza Materia: Analisi numerica

Esercizio 1

[modifica]
  • Ecco una possibile implementazione del metodo di Newton con Octave/MATLAB:
function [x e iter]=newton(f,df,x0,err,itermax)
%The function newton find the zeros of function
%with the Newton algorithm.
%It returns the zero x, the error e, and the number of iteration needed iter
%
%HOW TO USE IT:
%Example
%>>f=@(x)x.^2-1;
%>>df=@(x)2*x;
%>>err=1e-5; itermax=1000;
%>>[x e iter]=newton(f,df,err,itermax);

iter=0;
e=2*err;
x=x0;
while ( e > err )
	iter = iter + 1;
	e = abs(f(x)./df(x));	
	x=x-f(x)./df(x)
	if(iter == itermax)
		break;
	end
end

Esercizio 2

[modifica]

Si consideri la successione generata dal metodo di Newton

xk+1=xk−f(xk)f′(xk)

e si supponga esista z unico zero della funzione. Allora abbiamo tre casi:

  1. x0=z
    In questo caso ovviamente la successione converge in quanto si ha che
    xk=z∀k≥0.
  2. x0>z
    Notiamo che se xk>z allora f(xk)>0 e dalla definizione del metodo di Newton si ottiene
    xk+1−xk=−f(xk)f′xk<0,⟹xk+1<xk,
    ovvero la successione è decrescente. Dalla formula per l'errore se vede invece che
    z−xk+1=−f″(ηk)2f′(xk)(z−xk)2<0⟹z<xk+1.
    Quindi la successione degli xk è decrescente e limitata, ovvero esiste finito il suo limite
    limk→∞xk=α.
    Dalla definizione del metodo di Newton si ha che f(α)=0 e quindi per l'unicità dello zero si ha che α=z.
  3. x0<z
    Procedendo come per il punto precedente, essendo ora f(x0)<0, si ha che
    x1−x0=−f(x0)f′x0>0,⟹x1>x0,
    Tuttavia abbiamo anche che
    z−x1=−f″(η0)2f′(x0)(z−x0)2<0⟹z<x1.
    Quindi scelto x0<z si ha che x1>z e quindi la successione converge per quanto mostrato nel punto precedente ( prendendo x¯0=x1).

Esercizio 3

[modifica]