Vés al contingut

Mètode de Newton

De Viki.cat

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 al 1736. Tot i que aquest mètode també sigui descrit per Joseph Raphson a Analysis Aequationum al 1690, cal dir que el Method of Fluxions ja havia estat escrit al 1671.

El mètode

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

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

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

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

i aïllant <math>\alpha\,</math>:

<math>\alpha\approx x_0-\frac{f(x_0)}{f'(x_0)}\,</math>,

que ha de ser una millor aproximació cap a <math>\alpha\,</math>. Anomenem <math>x_1\,</math> a aquesta millor aproximació. Per inducció definim una successió de valors de <math>x_n\,</math>, que es pot escriure de la forma: <math>x_n=x_{(n-1)}-\frac{f(x_{(n-1)})}{f'(x_{(n-1)})}\,</math>, amb <math>n\ge 1\,</math>.

Imatge gràfica

L'aproximació gràfica és la següent: S'escull un valor de l'abscissa raonablement pròxim al 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 arribar a una aproximació que es dóna per bona. En el cas de la gràfica, a partir de <math>x_0\,</math>, s'anirà trobant la successió <math>x_1,x_2,...\,</math>, fins a arribar a un cert valor que es donarà com a solució de <math>\alpha\,</math>.

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 <math>x_0\,</math> inicial que s'hagi agafat com aproximació d'arrencada. No cal dir que l'eficiència d'aquest mètode també està en saber trobar una aproximació inicial suficientment pròxima a la solució.

Exemple

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

La derivada de la funció és: <math>1+\sin x\,</math>, sempre és >0.

Es pot agafar com a valor d'inici: <math>x_0=0.5\,</math>.

I d'aquí:

<math>x_1=0.5-\frac{0.5-\cos 0.5}{1+\sin 0.5}=0.75522\,</math>

<math>x_2=0.75522-\frac{0.75522-\cos 0.75522}{1+\sin 0.75522}=0.73914\,</math>

<math>x_3=0.73914-\frac{0.73914-\cos 0.73914}{1+\sin 0.73914}=0.73909\,</math>

<math>x_4=0.73909-\frac{0.73909-\cos 0.73909}{1+\sin 0.73909}=0.73909\,</math>

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 <math>F:R^n\rightarrow R^n\,</math>.

Si designem per <math>\mathbf{J}(\mathbf{x})\,</math> 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:

<math>\mathbf{x^{k}=x^{(k-1)}-J(x^{(k-1)})^{-1}F(x^{(k-1)})}\,</math>.

Expressió que recorda força l'anterior.

Vegeu també

Plantilla:Sister