Mètode de Newton

En càlcul numèric, el mètode de Newton, o mètode de Newton-Raphson, és un algorisme per tal de trobar aproximacions del zero d'una funció amb valors reals.

Història

El mètode Newton va ser descobert per Isaac Newton i publicat al Method of Fluxions el 1736. Encara que aquest mètode també sigui descrit per Joseph Raphson a Analysis Aequationum el 1690, cal dir que el Method of Fluxions ja havia estat escrit el 1671.

El mètode

Suposem que la funció f {\displaystyle f\,} és contínuament diferenciable dues vegades a l'interval [ a , b ] {\displaystyle \left[a,b\right]\,} , o sigui f C 2 [ a , b ] {\displaystyle f\in {\mathcal {C}}^{2}\left[a,b\right]\,} . I existeix un zero de la funció en aquest interval. Direm que α [ a , b ] {\displaystyle \alpha \in \left[a,b\right]\,} és la solució si f ( α ) = 0 {\displaystyle f\left(\alpha \right)=0\,} .

Sigui x 0 [ a , b ] {\displaystyle x_{0}\in \left[a,b\right]\,} una aproximació a la solució α {\displaystyle \alpha \,} tal que f ( x 0 ) 0 {\displaystyle f'\left(x_{0}\right)\neq 0\,} . Si escrivim el polinomi de Taylor de primer grau per a f ( x ) {\displaystyle f\left(x\right)\,} al voltant de x 0 {\displaystyle x_{0}\,} , tindrem: f ( x ) = f ( x 0 ) + ( x x 0 ) f ( x ) + ( x x 0 ) 2 2 f ( ξ ( x ) ) {\displaystyle f(x)=f(x_{0})+(x-x_{0})f^{\prime }(x)+{\frac {(x-x_{0})^{2}}{2}}f^{\prime \prime }(\xi (x))\,}

Però com que f ( α ) = 0 {\displaystyle f(\alpha )=0\,} , aquest anterior polinomi de Taylor, el podem escriure de la forma: 0 = f ( x 0 ) + ( α x 0 ) f ( x ) + ( α x 0 ) 2 2 f ( ξ ( α ) ) {\displaystyle 0=f(x_{0})+(\alpha -x_{0})f^{\prime }(x)+{\frac {(\alpha -x_{0})^{2}}{2}}f^{\prime \prime }(\xi (\alpha ))\,} .

En aquest punt, el mètode de Newton suposa que el terme ( α x 0 ) 2 {\displaystyle (\alpha -x_{0})^{2}\,} serà menyspreable, i que: 0 f ( x 0 ) + ( α x 0 ) f ( x ) {\displaystyle 0\approx f(x_{0})+(\alpha -x_{0})f'(x)\,} ,

i aïllant α {\displaystyle \alpha \,} :

α x 0 f ( x 0 ) f ( x 0 ) {\displaystyle \alpha \approx x_{0}-{\frac {f(x_{0})}{f'(x_{0})}}\,} ,

que ha de ser una millor aproximació cap a α {\displaystyle \alpha \,} . Anomenem x 1 {\displaystyle x_{1}\,} a aquesta millor aproximació. Per inducció definim una successió de valors de x n {\displaystyle x_{n}\,} , que es pot escriure de la forma: x n = x ( n 1 ) f ( x ( n 1 ) ) f ( x ( n 1 ) ) {\displaystyle x_{n}=x_{(n-1)}-{\frac {f(x_{(n-1)})}{f'(x_{(n-1)})}}\,} , amb n 1 {\displaystyle n\geq 1\,} .

Imatge gràfica

L'aproximació gràfica és la següent: S'escull un valor de l'abscissa raonablement pròxim a l'autèntic zero. En aquest punt, es reemplaça la corba per la seva tangent, i es calcula el zero d'aquesta recta tangent. Aquest zero, normalment, és més pròxim al zero de la funció, que el valor inicial. Aquest procés es reitera, fins a arribar a una aproximació que es dona per bona. En el cas de la gràfica, a partir de x 0 {\displaystyle x_{0}\,} , s'anirà trobant la successió x 1 , x 2 , . . . {\displaystyle x_{1},x_{2},...\,} , fins a arribar a un cert valor que es donarà com a solució de α {\displaystyle \alpha \,} .

Observacions

La fallada d'aquest mètode, normalment ve motivada per l'anul·lació del valor de la derivada en algun punt entre el valor del zero de la funció i el valor x 0 {\displaystyle x_{0}\,} inicial que s'hagi agafat com aproximació d'arrencada. No cal dir que l'eficiència d'aquest mètode també està a saber trobar una aproximació inicial suficientment pròxima a la solució.

Exemple

Suposem que es vulgui trobar un valor de la x {\displaystyle x\,} que fa que x cos x = 0 {\displaystyle x-\cos x=0\,} . Es pot intuir que existeix un valor entre 0 i 1 que ha de complir aquesta condició.

La derivada de la funció és: 1 + sin x {\displaystyle 1+\sin x\,} , sempre és >0.

Es pot agafar com a valor d'inici: x 0 = 0.5 {\displaystyle x_{0}=0.5\,} .

I d'aquí:

x 1 = 0.5 0.5 cos 0.5 1 + sin 0.5 = 0.75522 {\displaystyle x_{1}=0.5-{\frac {0.5-\cos 0.5}{1+\sin 0.5}}=0.75522\,}

x 2 = 0.75522 0.75522 cos 0.75522 1 + sin 0.75522 = 0.73914 {\displaystyle x_{2}=0.75522-{\frac {0.75522-\cos 0.75522}{1+\sin 0.75522}}=0.73914\,}

x 3 = 0.73914 0.73914 cos 0.73914 1 + sin 0.73914 = 0.73909 {\displaystyle x_{3}=0.73914-{\frac {0.73914-\cos 0.73914}{1+\sin 0.73914}}=0.73909\,}

x 4 = 0.73909 0.73909 cos 0.73909 1 + sin 0.73909 = 0.73909 {\displaystyle x_{4}=0.73909-{\frac {0.73909-\cos 0.73909}{1+\sin 0.73909}}=0.73909\,}

Valor que evidentment soluciona el problema, dins l'aproximació en què s'ha treballat.

Algorisme

Algorisme Mètode_Newton
funció func(x:real): real; /retorna el valor de la funció en x.
funció deriv(x:real): real;/retorna el valor de la derivada en x.
 
var.x0=W: real;/W allunyat de V, per evitar que |x0-x1|<Tol.
x1=V: real;	/V=aproximació inicial.
Tol: real;/Tol=marge màxim d'error que s'acceptarà.
n=N: enter;/controla el número d'iteracions, màxim N.
 
fer 
mentre [n>0] i [|x0-x1|>Tol] fer
x0=x1;
x1=x0-func(x0)/deriv(x0); 
n=n-1;
fi mentre;
si n>0
SORTIDA=x1;
altrament
SORTIDA=ERROR;
fi si;
fi procés;

Generalització

Es pot també utilitzar el mètode de Newton per tal de resoldre sistemes de n equacions (generalment no lineals), això representa trobar els zeros de les funcions contínuament derivables F : R n R n {\displaystyle F:R^{n}\rightarrow R^{n}\,} .

Si designem per J ( x ) {\displaystyle \mathbf {J} (\mathbf {x} )\,} la matriu jacobiana d'aquest sistema de funcions, el mètode de Newton en aquest cas, es pot escriure amb el següent procés iteratiu:

x k = x ( k 1 ) J ( x ( k 1 ) ) 1 F ( x ( k 1 ) ) {\displaystyle \mathbf {x^{k}=x^{(k-1)}-J(x^{(k-1)})^{-1}F(x^{(k-1)})} \,} .

Expressió que recorda força l'anterior.

Vegeu també