SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
33

3.3      Método de Newton
Sean f: R→R, y la ecuación f(x)=0. Sea r tal que f(r)=0, entonces r es una raíz real de la
ecuación.

El método de Newton, o Newton-Raphson, es una fórmula eficiente para encontrar r. Es un
caso especial del método del punto fijo en el que la ecuación f(x) = 0 se re-escribe en la forma
x = g(x) eligiendo g de tal manera que la convergencia sea de segundo orden.

3.3.1    La fórmula de Newton
Suponer que g es una función diferenciable en una región que incluye a la raíz r y al valor xi
(calculado en la iteración i). Desarrollando con la serie de Taylor:
                                                 2
         g(xi) = g(r) + (xi - r) g’(r) + (xi - r) g’’(r)/2! + . . .

Con las definiciones del método del punto fijo:
         r = g(r)
         xi+1 = g(xi), i = 0, 1, 2, 3, . . .

Se obtiene:
                                            2
        xi+1 = r + (xi - r) g’(r) + (xi - r) g’’(r)/2! + . . .

Si se define el error de truncamiento de la siguiente forma:
        Ei = xi - r:      Error en la iteración i
          Ei+ 1 = xi+1 - r:   Error en la iteración i +1

Finalmente se obtiene:
       Ei+ 1 = Ei g’(r) + Ei2 g’’(r)/2! + . . .

Si se hace que g’(r) = 0, y si g’’(r) ≠ 0, entonces se tendrá:
        Ei+ 1 = O( Ei2 ),
Con lo que el método tendrá convergencia cuadrática.

El procedimiento para hacer que g’(r) = 0, consiste en elegir una forma apropiada para g(x):

         g(x) = x - f(x) h(x), en donde h es alguna función que debe especificarse

Es necesario verificar que la ecuación x = g(x) se satisface con la raíz r de la ecuación f(x) = 0
       g(r) = r - f(r) h(r) = r ⇒ g(r) = r

Se deriva g(x) y se evalúa en r
        g’(x) = 1 - f’(x) h(x) - f(x) h’(x)
        g’(r) = 1 - f’(r) h(r) - f(r) h’(r) = 1 - f’(r) h(r)

Para que la convergencia sea cuadrática se necesita que g’(r) = 0
       g’(r) = 0 ⇒ 0 = 1 - f’(r) h(r) ⇒ h(r) = 1/f’(r) ⇒ h(x) = 1/f’(x), f'(x)≠0

Con lo que se puede especificar h(x) para que la convergencia sea cuadrática.

Al sustituir en la fórmula propuesta se obtiene x = g(x) = x - f(x)/f’(x), y se puede escribir la
fórmula iterativa de Newton:

Definición: Fórmula iterativa de Newton

                      f(xi )
          xi+ 1 = f '(xi ) ≠ 0 , i = 0, 1, 2, . . .
                xi −          ,
                     f '(xi )
34

3.3.2   Algoritmo del método de Newton
Para calcular una raíz r real de la ecuación f(x) = 0 con precisión E se usa la fórmula iterativa
             f(xi )
xi+ 1 =, f '(xi ) ≠ 0 y se genera una sucesión de valores xi esperando que tienda a un
       xi −
            f '(xi )
valor que satisfaga la ecuación.

        1) Elegir el valor inicial x0
        2) Generar la sucesión de valores con la fórmula iterativa:
                               f(xi )
                 xi+ 1 = , f '(xi ) ≠ 0 , i = 0, 1, 2, 3, ...
                        xi −
                              f '(xi )
        3) Si el método converge, la sucesión xi tenderá hacia un valor fijo que satisface la
           ecuación f(x) = 0

Ejemplo. Calcule una raíz real de f(x) = e - πx = 0 con la fórmula de Newton
                                           x



Suponer el valor inicial: x0 = 0.5
          f(x 0 )        e x0 − πx 0     e0.5 − 0.5 π
x1 =−
    x0             =− x
                   x0                =−
                                     0.5              =
                                                      0.5522
         f '(x 0 )        e 0 −π          e0.5 − π
           f(x1 )     e x1 − πx1          e0.5522 − 0.5522π
x 2 =−
    x1             =− x
                   x1            =
                                 0.5522 −                   =
                                                            0.5538
          f '(x1 )     e 1 −π                 e0.5522 − π
           f(x 2 )     e x2 − πx 2          e0.5538 − 0.5538π
x 3 =−
    x2              =− x
                    x2             =
                                   0.5538 −                   =0.5538
          f '(x 2 )     e 2 −π                  e0.5538 − π
En los resultados se observa la rápida convergencia. En la tercera iteración el resultado tiene
cuatro decimales que no cambian.


3.3.3   Interpretación gráfica del método de Newton
Suponer que f es como se muestra en el siguiente gráfico y x0 es el valor inicial:




Seguimos el siguiente procedimiento:

        Calcular f(x0)
        Trazar una tangente a f en el punto (x0, f(x0)) hasta intersecar al eje horizontal
        El punto obtenido es x1
        Entonces tan(α0) = f’(x0) = f(x0)/(x0 – x1) de donde se obtiene x1 = x0 – f(x0)/f’(x0)

        Calcular f(x1)
        Trazar una tangente a f en el punto (x1, f(x1)) hasta intersecar al eje horizontal:
        El punto obtenido es x2
        Entonces tan(α1) = f’(x1) = f(x1)/(x1 – x2) de donde se obtiene x2 = x1 – f(x1)/f’(x1)
35

        Con estos dos resultados se puede generalizar:
        tan(αi) = f’(xi) = f(xi)/(xi – xi+1) de donde se obtiene xi+1 = xi – f(xi)/f’(xi)

        Es la fórmula de Newton.

Esta interpretación gráfica permite observar que la secuencia de valores calculados con la
fórmula de Newton sigue la trayectoria de las tangentes a f(x). Si hay convergencia, esta
secuencia tiende a la raíz r. En la siguiente sección se analiza la propiedad de convergencia
de éste método.

3.3.4   Convergencia del método de Newton
Se estableció en el método del punto fijo que la ecuación recurrente x=g(x) tiene la siguiente
propiedad de convergencia: | Ei+ 1 |=| g'(z) || Ei | , i = 0, 1, 2, 3, . . . La convergencia se produce
si se cumple que |g’(x)|<1

Para el método de Newton se obtuvo la siguiente ecuación recurrente:
                x = g(x) = x - f(x)/f’(x),
                          f(x)f ''(x)
Entonces,        g'(x) =              , f(xi ) ≠ 0
                           [f '(x)]2
Si se supone que en alguna región cercana a r en la cual se incluyen los valores calculados x,
se tiene que f’(x)≠0, y si r es una raíz de f(x)=0, entonces f(r) = 0, y por lo tanto:
                         f(r)f ''(r)
             = = 0
                 g'(r)
                          [f '(r)]2
Esto demuestra que existe algún intervalo cercano r en el que |g’(x)|<1 siempre que g sea
continua en ese intervalo          La fórmula de Newton converge si los valores calculados se
mantienen dentro de este intervalo.

Para obtener el intervalo de convergencia, no es práctico usar la definición anterior pues
involucra resolver una ecuación no lineal complicada. Existen otros procedimientos para
analizar la convergencia de esta fórmula como se muestra a continuación.

3.3.5   Una condición de convergencia local para el método de Newton
Dada la ecuación f(x)=0. Suponer que f(x), f’(x), f’’(x) son continuas y limitadas en un intervalo
[a, b] que contiene a la raíz r como se muestra en el siguiente gráfico:




Para este caso, f(x) tiene las siguientes propiedades
       a) f(x) > 0, x∈(r, b]
       b) f’(x) > 0, x∈(r, b]
       c) f’’(x) > 0, x∈(r, b]

Demostrar que la fórmula de Newton converge para cualquier valor inicial x0 elegido en el
intervalo (r, b].

Demostración
Fórmula iterativa de Newton
                     f(xi )
       xi+ 1 = f(xi ) ≠ 0 , i=0, 1, 2,...
               xi −          ,
                    f '(xi )
36

1) Las propiedades a) y b) implican que xi+ 1 < xi :
                    f(xi )
         xi+= xi −
            1               ⇒ xi + 1 < xi                                                       (1)
                   f '(xi )
Al sumar a la derecha un término positivo, pues f(x), f'(x) son positivos, es válido el enunciado

2) La propiedad c) implica que r < xi+ 1 :
Desarrollamos f(x) con tres términos de la serie de Taylor alrededor de xi
         f(r) f(xi ) + (r − xi )f '(xi ) + (r − xi )2 f ''(z) / 2!
            =

El último término representa el error de truncamiento de la serie. Este término es positivo pues
f''(x) es positivo, por lo tanto, al restar a la derecha un término positivo:

f(r) > f(xi ) + (r − xi )f '(xi ) ⇒ 0 > f(xi ) + (r − xi )f '(xi ) ⇒ r < xi − f(xi ) / f '(xi ) ⇒ r < xi+ 1   (2)

Combinando los resultados (1) y (2) se tiene

         r < xi+ 1 < xi , i = 0, 1, 2,...

Se define una sucesión numérica decreciente que tiende a r.

Esto prueba la convergencia de la fórmula iterativa de Newton:                  xi   →r
                                                                               i→∞


Si se dispone del gráfico de f es fácil reconocer visualmente si se cumplen las condiciones a),
b) y c) como el caso anterior y se puede definir un intervalo para la convergencia del método.

Si f tiene otra forma, igualmente se pueden enunciar y demostrar las condiciones para que se
produzca la convergencia en cada caso.


Ejemplo. Determine la convergencia del método de Newton si f tuviese la siguiente forma




Su geometría se puede describir con:
      a) f(x)>0, x∈[a, r)
      b) f’(x)<0, x∈[a, r)
      c) f’’(x)>0, x∈[a, r)

Con un desarrollo similar al anterior, se puede probar que el método converge para cualquier
valor inicial x0 elegido en el intervalo [a, r), (a la izquierda de la raíz r).


El uso de esta propiedad es simple si se dispone de un gráfico de la ecuación. Se elige como
intervalo de convergencia aquella región en la que se observa que la trayectoria de las
tangentes produce la convergencia a la raíz. Si se elije un valor inicial arbitrario no se puede
asegurar que el método converge.
37

Ejemplo.- Si un círculo de radio a rueda en el plano a lo largo del eje horizontal, un punto P
de la circunferencia trazará una curva denominada cicloide. Esta curva puede expresarse
mediante las siguientes ecuaciones paramétricas
       x(t) = a(t – sen t),           y(t) = a(1 – cos t)

Suponga que el radio es 1 metro, si (x, y) se miden en metros y t representa tiempo en
segundos, determine el primer instante en el que la magnitud de la velocidad es 0.5 m/s. Use
el método de Newton, E=0.0001

Gráfico de la cicloide




Su trayectoria:
        u(t) = (x(t), y(t)) = (t – sen t, 1 – cos t)

Su velocidad:
       u’(t) = (1 – cos t, sen t)

Magnitud de la velocidad:
          u'(t) = − cos t)2 + (sent)2
                 (1

Gráfico de la magnitud de la velocidad




Dato especificado:
           (1 − cos t)2 + (sent)2 = 0.5     ⇒ f(t) = (1 – cost)2 + (sent)2 – 0.25 = 0

Método de Newton
                   f(ti )           (1 − cos ti )2 + (senti )2 − 0.25
       ti+ 1 =
             ti −          =
                           ti −                                               (fórmula iterativa)
                  f '(ti )      2(1 − cos ti )(senti ) + 2(senti )(cos ti )

         t0 = 0.5                                                             (del gráfico)

         t1 = ... = 0.505386                                                  (iteraciones)
         t2 = ... = 0.505360
         t3 = ... = 0.505360
38

3.3.6   Práctica computacional
En esta sección se describe el uso de MATLAB para usar el método de Newton. Se lo hará
directamente en la ventana de comandos.

Para calcular una raíz debe elegirse un valor inicial cercano a la respuesta esperada de
acuerdo a la propiedad de convergencia estudiada para este método.

Para realizar los cálculos se usa la fórmula de Newton en notación algorítmica:
                     f(xi )
        xi+= xi −
           1                 , i=0, 1, 2, 3, …
                    f '(xi )
       x0                   es el valor inicial
       x1, x2, x3, …        son los valores calculados

En los lenguajes computacionales como MATLAB no se requieren índices para indicar que el
valor de una variable a la izquierda es el resultado de la evaluación de una expresión a la
derecha con un valor anterior de la misma variable.

La ecuación se puede definir como una cadena de caracteres entre comillas simples. La
derivada se obtiene con la función diff de MATLAB y con la función eval se evalúan las
expresiones matemáticas. Opcionalmente se puede usar el tipo syms para definir variables
simbólicas o la función sym para operar algebraicamente con expresiones matemáticas.

Forma computacional de la fórmula de Newton en MATLAB:

        x=x-eval(f)/eval(diff(f))

Presionando repetidamente la tecla del cursor ↑ se obtienen resultados sucesivos. La
convergencia o divergencia se puede observar directamente en los resultados.

Ejemplo. Calcule con MATLAB las raíces reales de f(x) = e - πx = 0 con la fórmula de Newton.
                                                           x


Es conveniente graficar la ecuación mediante los siguientes comandos de MATLAB. También
se puede editar el dibujo directamente en la ventana de graficación:

>> syms x
>> f=exp(x)-pi*x;
>> ezplot(f,[0,2]),grid on




A continuación se utliza la fórmula de Newton en MATLAB eligiendo del gráfico un valor inicial.
Reutilizando este comando se obtiene una secuencia de aproximaciones:

>> format long
>> x=0.5;
39

>> x=x-eval(f)/eval(diff(f))
x=
 0.552198029112459
>> x=x-eval(f)/eval(diff(f))
x=
 0.553825394773978
>> x=x-eval(f)/eval(diff(f))
x=
 0.553827036642841
>> x=x-eval(f)/eval(diff(f))
x=
 0.553827036644514
>> x=x-eval(f)/eval(diff(f))
x=
 0.553827036644514

El último resultado tiene quince decimales fijos.

Se puede observar la rapidez con la que el método se acerca a la respuesta duplicando
aproximadamente, la precisión en cada iteración. Esto concuerda con la propiedad de
convergencia cuadrática.

Finalmente, es necesario verificar que este resultado satisface a la ecuación:

>> eval(f)
ans =
   0

Ejemplo. Se propone el siguiente modelo para describir la demanda de un producto, en donde
x es tiempo en meses:
        d(x) = 20x e −0.075x
Encuentre el valor de x para el cual la demanda alcanza el valor de 80 unidades. Use el
método de Newton para los cálculos. Elija el valor inicial del gráfico y muestre los valores
intermedios.

La ecuación a resolver es: f(x) 20x e −0.075x − 80 0
                        =                  =

>> syms x
>> f=20*x*exp(-0.075*x)-80;
                                                                   (20 x)/exp((3 x)/40) - 80
>> ezplot(f,[0,50]),grid on
>> x=5;                                             20

>> x=x-eval(f)/eval(diff(f))
x=                                                   0

 6.311945053556490
                                                    -20
>> x=x-eval(f)/eval(diff(f))
x=
                                                    -40
 6.520455024943885
>> x=x-eval(f)/eval(diff(f))
                                                    -60
x=
 6.525360358429755                                  -80
>> x=x-eval(f)/eval(diff(f))
                                                          0   10       20           30         40   50
x=                                                                            x
 6.525363029068742
>> x=x-eval(f)/eval(diff(f))
x=
 6.525363029069534
>> x=x-eval(f)/eval(diff(f))
x=
 6.525363029069534
40

Ejemplo. Una partícula se mueve en el plano X-Y de acuerdo con las ecuaciones paramétricas
siguientes, donde t es tiempo, entre 0 y 1:
                x(t)=t*exp(t)
                y(t)=1+t*exp(2t)
Con la fórmula de Newton calcule el tiempo en el que la partícula está más cerca del punto
(1,1)

Distancia de un punto (x, y) al punto (1, 1) :        =
                                                      d         (x(t) − 1)2 + (y(t) − 1)2

Para encontrar la menor distancia, debe resolverse la ecuación: f(t) = d’(t) = 0

>> t=[0:0.01:1];                    Puntos para evaluar las ecuaciones paramétricas
>> x=t.*exp(t);
>> y=1+t.*exp(2*t);
>> plot(x,y)                        Gráfico del recorrido
                          9


                          8


                          7


                          6


                          5


                          4


                          3


                          2


                          1


                          0
                              0   0.5   1   1.5   2       2.5       3



>> syms t
>> x=t*exp(t);
>> y=1+t*exp(2*t);
>> d=sqrt((x-1)^2+(y-1)^2)                                          (para operar algebraicamente)
   d=
     (t^2*exp(4*t) + (t*exp(t) - 1)^2)^(1/2)
>> f=diff(d);
>> t=0.5;
>> t=t-eval(f)/eval(diff(f))
t=
 0.278246639067713
>> t=t-eval(f)/eval(diff(f))
t=
 0.258310527656699
>> t=t-eval(f)/eval(diff(f))
t=
 0.256777599742604
>> t=t-eval(f)/eval(diff(f))
t=
 0.256768238259669
>> t=t-eval(f)/eval(diff(f))
t=
 0.256768237910400
>> t=t-eval(f)/eval(diff(f))
t=
 0.256768237910400                                                  (tiempo para la menor distancia)
>> eval(d)
ans =
  0.794004939848305                                                 (es la menor distancia)
41

Ejemplo. Encuentre una intersección de las siguientes ecuaciones en coordenadas polares
                      r=2+cos(3*t)
                            t
                      r=2- e

                                                             t
Ecuación a resolver:         f(t) = 2+cos(3*t) – (2-e )

>> t=[-pi:0.01:2*pi];                                   Puntos para evaluar las ecuaciones
>> r=2+cos(3*t);
>> polar(t,r),hold on
>> r=2- exp(t);
>> polar(t,r)                                           Gráfico en coordenadas polares
                               90        3
                       120                   60

                                     2

                150                                30
                                     1



          180                                            0




                210                                330



                       240                   300
                               270

>> syms t
>> f=2+cos(3*t)-(2-exp(t));
>> t=-1;                                                               (valor inicial)
>> t=t-eval(f)/eval(diff(f))
t=
 -0.213748703557153
>> t=t-eval(f)/eval(diff(f))
t=
 -0.832049609116596
>> t=t-eval(f)/eval(diff(f))
t=
 -0.669680711112045
>> t=t-eval(f)/eval(diff(f))
t=
 -0.696790503081824
>> t=t-eval(f)/eval(diff(f))
t=
 -0.697328890705191
>> t=t-eval(f)/eval(diff(f))
t=
 -0.697329123134159
>> t=t-eval(f)/eval(diff(f))
t=
 -0.697329123134202
>> t=t-eval(f)/eval(diff(f))
t=
 -0.697329123134202                                                    (ángulo: -39.95…. grados)
>> r=2+cos(3*t)
r=
  1.502086605214547                                                    (radio)
42

3.3.7 Instrumentación computacional del método de Newton
Para evitar iterar desde la ventana de comandos, se puede instrumentar una función que reciba
la ecuación a resolver f, la variable independiente v definida como símbolo matemático y el
valor inicial u. Adicionalmente se puede enviar un parámetro e para controlar la precisión
requerida y otro parámetro m para el máximo de iteraciones.

La función entrega la solución calculada u y el número de iteraciones realizadas k. Si el
método no converge en el máximo de iteraciones previsto, u será un valor nulo y el número de
iteraciones k será igual al máximo m.

      function [u,k]=newton(f,v,u,e,m)
      t=u;
      for k=1:m
        u=u-subs(f,v,u)/subs(diff(f,v),v,u);
        if abs(t-u)<e
           return
        end
        t=u;
      end
      u=[ ];
      k=m;


Ejemplo. Calcule las dos raíces reales de f(x) = e - πx = 0 con la función newton. Los valores
                                                                                       x

iniciales son tomados del gráfico.

      >> syms x
      >> f=exp(x)-pi*x;
      >> ezplot(f,[0,2]),grid on
                                            exp(x) - π x
          1.2

           1

          0.8

          0.6

          0.4

          0.2

           0

         -0.2

         -0.4


                0   0.2   0.4   0.6   0.8        1         1.2   1.4   1.6   1.8   2
                                                 x


      >> [u,k]=newton(f, x, 0.5, 0.000001, 10)
      u=
        0.553827036644514                                                                  Primera raíz
      k=
         4
      >> [u,k]=newton(f, x, 1.6, 0.000001, 10)
      u=
        1.638528419970363                                                                  Segunda raíz
      k=
         4

Si no es de interés el número de iteraciones, la función puede llamarse solo con un parámetro

      >> u=newton(f, x, 0.5, 0.000001, 10)
      u=
       0.553827036644514
43

3.3.8   Uso de funciones especiales de MATLAB
MATLAB dispone de funciones especiales para calcular raíces de ecuaciones no lineales.

La función fzero
Es equivalente a usar los métodos de la bisección y de Newton

Ejemplo. Resuelva la ecuación f(x) = e - πx = 0 usando fzero
                                      x



>> f='exp(x)-pi*x';
>> r=fzero(f, [0.4, 0.8])                     (Para usar como el método de la bisección
  r=                                          se especifica el intervalo que contiene a la raíz)
     0.55382703664451


>> f='exp(x)-pi*x';
>> r=fzero(f, 0.4)                            (Para usar como el método de Newton
  r=                                           se especifica un valor cercano a la raíz)
     0.553827036644514
>> r=fzero(f, 1.6)
  r=
     1.638528419970363


La función solve
Se usa resolver ecuaciones en forma simbólica exacta. En algunos casos la solución queda
expresada mediante símbolos predefinidos en MATLAB. Con la función eval se convierten las
soluciones al formato numérico decimal. Esta función no entrega todas las soluciones de una
ecuación.

Ejemplo. Resuelva la ecuación f(x) = e - πx = 0 usando solve
                                      x



>> f='exp(x)-pi*x';
>> r=eval(solve(f))
  r=
    0.553827036644514                                    (Raíz real en forma numérica decimal)


La función roots
Sirve para calcular todas las raíces de ecuaciones polinómicas. Los coeficientes del
polinomio deben almacenarse en un vector.

                                                     3       2
Ejemplo. Encuentre todas las raíces del polinomio 2x - 5x - 4x - 7 = 0 usando roots

>> a=[2, -5, -4, -7];                                    (Coeficientes del polinomio)
>> r=roots(a)
r=
  3.39334562071304                                       (Una raíz real y dos raíces complejas)
 -0.44667281035652 + 0.91209311493838i
 -0.44667281035652 - 0.91209311493838i

Weitere ähnliche Inhalte

Was ist angesagt?

Ecuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de LaplaceEcuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de Laplace
Kike Prieto
 
Variable compleja y sus aplicaciones 7ma edicion - churchill - solucionario...
Variable compleja y sus aplicaciones   7ma edicion - churchill - solucionario...Variable compleja y sus aplicaciones   7ma edicion - churchill - solucionario...
Variable compleja y sus aplicaciones 7ma edicion - churchill - solucionario...
maco56
 
Leyes de kirchhoff ejercicios resueltos 3
Leyes de kirchhoff ejercicios resueltos 3Leyes de kirchhoff ejercicios resueltos 3
Leyes de kirchhoff ejercicios resueltos 3
Luis Lopz
 
Operacion en paralelo de generador sincrono
Operacion en paralelo de generador sincronoOperacion en paralelo de generador sincrono
Operacion en paralelo de generador sincrono
AldYatako
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
Colono
 
Reporte de la practica 7
Reporte de la practica 7Reporte de la practica 7
Reporte de la practica 7
Fanniie YeYe
 
Aplicacion de la integral
Aplicacion de la integralAplicacion de la integral
Aplicacion de la integral
RAFA Ortega
 

Was ist angesagt? (20)

Integrales complejas
Integrales complejasIntegrales complejas
Integrales complejas
 
Ecuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de LaplaceEcuaciones Diferenciales - La Transformada de Laplace
Ecuaciones Diferenciales - La Transformada de Laplace
 
Clase 7 teorema de superposición
Clase 7 teorema de superposiciónClase 7 teorema de superposición
Clase 7 teorema de superposición
 
Variable compleja y sus aplicaciones 7ma edicion - churchill - solucionario...
Variable compleja y sus aplicaciones   7ma edicion - churchill - solucionario...Variable compleja y sus aplicaciones   7ma edicion - churchill - solucionario...
Variable compleja y sus aplicaciones 7ma edicion - churchill - solucionario...
 
Leyes de kirchhoff ejercicios resueltos 3
Leyes de kirchhoff ejercicios resueltos 3Leyes de kirchhoff ejercicios resueltos 3
Leyes de kirchhoff ejercicios resueltos 3
 
Cuestionario maquinas elecricas felipe quevedo capitulo 2
Cuestionario maquinas elecricas felipe quevedo capitulo 2Cuestionario maquinas elecricas felipe quevedo capitulo 2
Cuestionario maquinas elecricas felipe quevedo capitulo 2
 
Maquinas de corriente continua (CC)
Maquinas de corriente continua (CC)Maquinas de corriente continua (CC)
Maquinas de corriente continua (CC)
 
Impedancias Analisis de circuitos
Impedancias Analisis de circuitosImpedancias Analisis de circuitos
Impedancias Analisis de circuitos
 
Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales Aplicaciones de las ecuaciones diferenciales
Aplicaciones de las ecuaciones diferenciales
 
Operacion en paralelo de generador sincrono
Operacion en paralelo de generador sincronoOperacion en paralelo de generador sincrono
Operacion en paralelo de generador sincrono
 
Ejercicios resueltos
Ejercicios resueltosEjercicios resueltos
Ejercicios resueltos
 
Reporte de la practica 7
Reporte de la practica 7Reporte de la practica 7
Reporte de la practica 7
 
000 ECUACIONES_DIFERENCIALES_Y_SUS_APLICACIO ESPINOZA RAMOS.pdf
000  ECUACIONES_DIFERENCIALES_Y_SUS_APLICACIO   ESPINOZA RAMOS.pdf000  ECUACIONES_DIFERENCIALES_Y_SUS_APLICACIO   ESPINOZA RAMOS.pdf
000 ECUACIONES_DIFERENCIALES_Y_SUS_APLICACIO ESPINOZA RAMOS.pdf
 
Soluciones: Openheim - Sistemas y señales - cap 5
Soluciones: Openheim - Sistemas y señales - cap 5Soluciones: Openheim - Sistemas y señales - cap 5
Soluciones: Openheim - Sistemas y señales - cap 5
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
 
Cuadripolos
CuadripolosCuadripolos
Cuadripolos
 
Derivadas Parciales
Derivadas ParcialesDerivadas Parciales
Derivadas Parciales
 
Metodos de arranque. carlos perez.
Metodos de arranque. carlos perez.Metodos de arranque. carlos perez.
Metodos de arranque. carlos perez.
 
Transformada inversa-de-laplace-completo
Transformada inversa-de-laplace-completoTransformada inversa-de-laplace-completo
Transformada inversa-de-laplace-completo
 
Aplicacion de la integral
Aplicacion de la integralAplicacion de la integral
Aplicacion de la integral
 

Ähnlich wie 6.metodo de newton

Método de Newton
Método de NewtonMétodo de Newton
Método de Newton
Kike Prieto
 
5.metodo del punto fijo
5.metodo del punto fijo5.metodo del punto fijo
5.metodo del punto fijo
rjvillon
 
Método del punto fijo
Método del punto fijoMétodo del punto fijo
Método del punto fijo
Kike Prieto
 
Busqueda de una raiz-Metodos numericos
Busqueda de una raiz-Metodos numericosBusqueda de una raiz-Metodos numericos
Busqueda de una raiz-Metodos numericos
jorgeduardooo
 

Ähnlich wie 6.metodo de newton (20)

Método de Newton
Método de NewtonMétodo de Newton
Método de Newton
 
5.metodo del punto fijo
5.metodo del punto fijo5.metodo del punto fijo
5.metodo del punto fijo
 
Método del punto fijo
Método del punto fijoMétodo del punto fijo
Método del punto fijo
 
Examen
ExamenExamen
Examen
 
Practica4 newton-raph-resuelta
Practica4 newton-raph-resueltaPractica4 newton-raph-resuelta
Practica4 newton-raph-resuelta
 
DERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdfDERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdf
 
DERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdfDERIVADAS PARCIALES.pdf
DERIVADAS PARCIALES.pdf
 
definicion e interpretacion de la derivada (2).docx
definicion e interpretacion de la derivada (2).docxdefinicion e interpretacion de la derivada (2).docx
definicion e interpretacion de la derivada (2).docx
 
Definición de derivada
Definición de derivadaDefinición de derivada
Definición de derivada
 
Derivadas. teoremas
Derivadas. teoremasDerivadas. teoremas
Derivadas. teoremas
 
Calculo u5
Calculo u5Calculo u5
Calculo u5
 
Derivadas. aplicaciones
Derivadas. aplicacionesDerivadas. aplicaciones
Derivadas. aplicaciones
 
Punto Fijo
Punto FijoPunto Fijo
Punto Fijo
 
Interpolacion y aproximacion lab 07
Interpolacion y aproximacion lab 07Interpolacion y aproximacion lab 07
Interpolacion y aproximacion lab 07
 
Derivadaelias
DerivadaeliasDerivadaelias
Derivadaelias
 
La derivada por_definicion (1)
La derivada por_definicion (1)La derivada por_definicion (1)
La derivada por_definicion (1)
 
La derivada por_definicion
La derivada por_definicionLa derivada por_definicion
La derivada por_definicion
 
Derivada de una función
Derivada de una funciónDerivada de una función
Derivada de una función
 
Busqueda de una raiz-Metodos numericos
Busqueda de una raiz-Metodos numericosBusqueda de una raiz-Metodos numericos
Busqueda de una raiz-Metodos numericos
 
Tp5-Derivabilidad Analisis II - Fain
Tp5-Derivabilidad Analisis II - FainTp5-Derivabilidad Analisis II - Fain
Tp5-Derivabilidad Analisis II - Fain
 

Mehr von rjvillon

Mehr von rjvillon (9)

11.sistemas singulares
11.sistemas singulares11.sistemas singulares
11.sistemas singulares
 
10.sistemas mal condicionados
10.sistemas mal condicionados10.sistemas mal condicionados
10.sistemas mal condicionados
 
8.gaussjordan
8.gaussjordan8.gaussjordan
8.gaussjordan
 
7.metodo de newton2
7.metodo de newton27.metodo de newton2
7.metodo de newton2
 
4.metodo de la biseccion
4.metodo de la biseccion4.metodo de la biseccion
4.metodo de la biseccion
 
3.metodo directo
3.metodo directo3.metodo directo
3.metodo directo
 
2.metodo iterativo
2.metodo iterativo2.metodo iterativo
2.metodo iterativo
 
1.introduccion analisis
1.introduccion analisis1.introduccion analisis
1.introduccion analisis
 
9.metododegauss
9.metododegauss9.metododegauss
9.metododegauss
 

6.metodo de newton

  • 1. 33 3.3 Método de Newton Sean f: R→R, y la ecuación f(x)=0. Sea r tal que f(r)=0, entonces r es una raíz real de la ecuación. El método de Newton, o Newton-Raphson, es una fórmula eficiente para encontrar r. Es un caso especial del método del punto fijo en el que la ecuación f(x) = 0 se re-escribe en la forma x = g(x) eligiendo g de tal manera que la convergencia sea de segundo orden. 3.3.1 La fórmula de Newton Suponer que g es una función diferenciable en una región que incluye a la raíz r y al valor xi (calculado en la iteración i). Desarrollando con la serie de Taylor: 2 g(xi) = g(r) + (xi - r) g’(r) + (xi - r) g’’(r)/2! + . . . Con las definiciones del método del punto fijo: r = g(r) xi+1 = g(xi), i = 0, 1, 2, 3, . . . Se obtiene: 2 xi+1 = r + (xi - r) g’(r) + (xi - r) g’’(r)/2! + . . . Si se define el error de truncamiento de la siguiente forma: Ei = xi - r: Error en la iteración i Ei+ 1 = xi+1 - r: Error en la iteración i +1 Finalmente se obtiene: Ei+ 1 = Ei g’(r) + Ei2 g’’(r)/2! + . . . Si se hace que g’(r) = 0, y si g’’(r) ≠ 0, entonces se tendrá: Ei+ 1 = O( Ei2 ), Con lo que el método tendrá convergencia cuadrática. El procedimiento para hacer que g’(r) = 0, consiste en elegir una forma apropiada para g(x): g(x) = x - f(x) h(x), en donde h es alguna función que debe especificarse Es necesario verificar que la ecuación x = g(x) se satisface con la raíz r de la ecuación f(x) = 0 g(r) = r - f(r) h(r) = r ⇒ g(r) = r Se deriva g(x) y se evalúa en r g’(x) = 1 - f’(x) h(x) - f(x) h’(x) g’(r) = 1 - f’(r) h(r) - f(r) h’(r) = 1 - f’(r) h(r) Para que la convergencia sea cuadrática se necesita que g’(r) = 0 g’(r) = 0 ⇒ 0 = 1 - f’(r) h(r) ⇒ h(r) = 1/f’(r) ⇒ h(x) = 1/f’(x), f'(x)≠0 Con lo que se puede especificar h(x) para que la convergencia sea cuadrática. Al sustituir en la fórmula propuesta se obtiene x = g(x) = x - f(x)/f’(x), y se puede escribir la fórmula iterativa de Newton: Definición: Fórmula iterativa de Newton f(xi ) xi+ 1 = f '(xi ) ≠ 0 , i = 0, 1, 2, . . . xi − , f '(xi )
  • 2. 34 3.3.2 Algoritmo del método de Newton Para calcular una raíz r real de la ecuación f(x) = 0 con precisión E se usa la fórmula iterativa f(xi ) xi+ 1 =, f '(xi ) ≠ 0 y se genera una sucesión de valores xi esperando que tienda a un xi − f '(xi ) valor que satisfaga la ecuación. 1) Elegir el valor inicial x0 2) Generar la sucesión de valores con la fórmula iterativa: f(xi ) xi+ 1 = , f '(xi ) ≠ 0 , i = 0, 1, 2, 3, ... xi − f '(xi ) 3) Si el método converge, la sucesión xi tenderá hacia un valor fijo que satisface la ecuación f(x) = 0 Ejemplo. Calcule una raíz real de f(x) = e - πx = 0 con la fórmula de Newton x Suponer el valor inicial: x0 = 0.5 f(x 0 ) e x0 − πx 0 e0.5 − 0.5 π x1 =− x0 =− x x0 =− 0.5 = 0.5522 f '(x 0 ) e 0 −π e0.5 − π f(x1 ) e x1 − πx1 e0.5522 − 0.5522π x 2 =− x1 =− x x1 = 0.5522 − = 0.5538 f '(x1 ) e 1 −π e0.5522 − π f(x 2 ) e x2 − πx 2 e0.5538 − 0.5538π x 3 =− x2 =− x x2 = 0.5538 − =0.5538 f '(x 2 ) e 2 −π e0.5538 − π En los resultados se observa la rápida convergencia. En la tercera iteración el resultado tiene cuatro decimales que no cambian. 3.3.3 Interpretación gráfica del método de Newton Suponer que f es como se muestra en el siguiente gráfico y x0 es el valor inicial: Seguimos el siguiente procedimiento: Calcular f(x0) Trazar una tangente a f en el punto (x0, f(x0)) hasta intersecar al eje horizontal El punto obtenido es x1 Entonces tan(α0) = f’(x0) = f(x0)/(x0 – x1) de donde se obtiene x1 = x0 – f(x0)/f’(x0) Calcular f(x1) Trazar una tangente a f en el punto (x1, f(x1)) hasta intersecar al eje horizontal: El punto obtenido es x2 Entonces tan(α1) = f’(x1) = f(x1)/(x1 – x2) de donde se obtiene x2 = x1 – f(x1)/f’(x1)
  • 3. 35 Con estos dos resultados se puede generalizar: tan(αi) = f’(xi) = f(xi)/(xi – xi+1) de donde se obtiene xi+1 = xi – f(xi)/f’(xi) Es la fórmula de Newton. Esta interpretación gráfica permite observar que la secuencia de valores calculados con la fórmula de Newton sigue la trayectoria de las tangentes a f(x). Si hay convergencia, esta secuencia tiende a la raíz r. En la siguiente sección se analiza la propiedad de convergencia de éste método. 3.3.4 Convergencia del método de Newton Se estableció en el método del punto fijo que la ecuación recurrente x=g(x) tiene la siguiente propiedad de convergencia: | Ei+ 1 |=| g'(z) || Ei | , i = 0, 1, 2, 3, . . . La convergencia se produce si se cumple que |g’(x)|<1 Para el método de Newton se obtuvo la siguiente ecuación recurrente: x = g(x) = x - f(x)/f’(x), f(x)f ''(x) Entonces, g'(x) = , f(xi ) ≠ 0 [f '(x)]2 Si se supone que en alguna región cercana a r en la cual se incluyen los valores calculados x, se tiene que f’(x)≠0, y si r es una raíz de f(x)=0, entonces f(r) = 0, y por lo tanto: f(r)f ''(r) = = 0 g'(r) [f '(r)]2 Esto demuestra que existe algún intervalo cercano r en el que |g’(x)|<1 siempre que g sea continua en ese intervalo La fórmula de Newton converge si los valores calculados se mantienen dentro de este intervalo. Para obtener el intervalo de convergencia, no es práctico usar la definición anterior pues involucra resolver una ecuación no lineal complicada. Existen otros procedimientos para analizar la convergencia de esta fórmula como se muestra a continuación. 3.3.5 Una condición de convergencia local para el método de Newton Dada la ecuación f(x)=0. Suponer que f(x), f’(x), f’’(x) son continuas y limitadas en un intervalo [a, b] que contiene a la raíz r como se muestra en el siguiente gráfico: Para este caso, f(x) tiene las siguientes propiedades a) f(x) > 0, x∈(r, b] b) f’(x) > 0, x∈(r, b] c) f’’(x) > 0, x∈(r, b] Demostrar que la fórmula de Newton converge para cualquier valor inicial x0 elegido en el intervalo (r, b]. Demostración Fórmula iterativa de Newton f(xi ) xi+ 1 = f(xi ) ≠ 0 , i=0, 1, 2,... xi − , f '(xi )
  • 4. 36 1) Las propiedades a) y b) implican que xi+ 1 < xi : f(xi ) xi+= xi − 1 ⇒ xi + 1 < xi (1) f '(xi ) Al sumar a la derecha un término positivo, pues f(x), f'(x) son positivos, es válido el enunciado 2) La propiedad c) implica que r < xi+ 1 : Desarrollamos f(x) con tres términos de la serie de Taylor alrededor de xi f(r) f(xi ) + (r − xi )f '(xi ) + (r − xi )2 f ''(z) / 2! = El último término representa el error de truncamiento de la serie. Este término es positivo pues f''(x) es positivo, por lo tanto, al restar a la derecha un término positivo: f(r) > f(xi ) + (r − xi )f '(xi ) ⇒ 0 > f(xi ) + (r − xi )f '(xi ) ⇒ r < xi − f(xi ) / f '(xi ) ⇒ r < xi+ 1 (2) Combinando los resultados (1) y (2) se tiene r < xi+ 1 < xi , i = 0, 1, 2,... Se define una sucesión numérica decreciente que tiende a r. Esto prueba la convergencia de la fórmula iterativa de Newton: xi →r i→∞ Si se dispone del gráfico de f es fácil reconocer visualmente si se cumplen las condiciones a), b) y c) como el caso anterior y se puede definir un intervalo para la convergencia del método. Si f tiene otra forma, igualmente se pueden enunciar y demostrar las condiciones para que se produzca la convergencia en cada caso. Ejemplo. Determine la convergencia del método de Newton si f tuviese la siguiente forma Su geometría se puede describir con: a) f(x)>0, x∈[a, r) b) f’(x)<0, x∈[a, r) c) f’’(x)>0, x∈[a, r) Con un desarrollo similar al anterior, se puede probar que el método converge para cualquier valor inicial x0 elegido en el intervalo [a, r), (a la izquierda de la raíz r). El uso de esta propiedad es simple si se dispone de un gráfico de la ecuación. Se elige como intervalo de convergencia aquella región en la que se observa que la trayectoria de las tangentes produce la convergencia a la raíz. Si se elije un valor inicial arbitrario no se puede asegurar que el método converge.
  • 5. 37 Ejemplo.- Si un círculo de radio a rueda en el plano a lo largo del eje horizontal, un punto P de la circunferencia trazará una curva denominada cicloide. Esta curva puede expresarse mediante las siguientes ecuaciones paramétricas x(t) = a(t – sen t), y(t) = a(1 – cos t) Suponga que el radio es 1 metro, si (x, y) se miden en metros y t representa tiempo en segundos, determine el primer instante en el que la magnitud de la velocidad es 0.5 m/s. Use el método de Newton, E=0.0001 Gráfico de la cicloide Su trayectoria: u(t) = (x(t), y(t)) = (t – sen t, 1 – cos t) Su velocidad: u’(t) = (1 – cos t, sen t) Magnitud de la velocidad: u'(t) = − cos t)2 + (sent)2 (1 Gráfico de la magnitud de la velocidad Dato especificado: (1 − cos t)2 + (sent)2 = 0.5 ⇒ f(t) = (1 – cost)2 + (sent)2 – 0.25 = 0 Método de Newton f(ti ) (1 − cos ti )2 + (senti )2 − 0.25 ti+ 1 = ti − = ti − (fórmula iterativa) f '(ti ) 2(1 − cos ti )(senti ) + 2(senti )(cos ti ) t0 = 0.5 (del gráfico) t1 = ... = 0.505386 (iteraciones) t2 = ... = 0.505360 t3 = ... = 0.505360
  • 6. 38 3.3.6 Práctica computacional En esta sección se describe el uso de MATLAB para usar el método de Newton. Se lo hará directamente en la ventana de comandos. Para calcular una raíz debe elegirse un valor inicial cercano a la respuesta esperada de acuerdo a la propiedad de convergencia estudiada para este método. Para realizar los cálculos se usa la fórmula de Newton en notación algorítmica: f(xi ) xi+= xi − 1 , i=0, 1, 2, 3, … f '(xi ) x0 es el valor inicial x1, x2, x3, … son los valores calculados En los lenguajes computacionales como MATLAB no se requieren índices para indicar que el valor de una variable a la izquierda es el resultado de la evaluación de una expresión a la derecha con un valor anterior de la misma variable. La ecuación se puede definir como una cadena de caracteres entre comillas simples. La derivada se obtiene con la función diff de MATLAB y con la función eval se evalúan las expresiones matemáticas. Opcionalmente se puede usar el tipo syms para definir variables simbólicas o la función sym para operar algebraicamente con expresiones matemáticas. Forma computacional de la fórmula de Newton en MATLAB: x=x-eval(f)/eval(diff(f)) Presionando repetidamente la tecla del cursor ↑ se obtienen resultados sucesivos. La convergencia o divergencia se puede observar directamente en los resultados. Ejemplo. Calcule con MATLAB las raíces reales de f(x) = e - πx = 0 con la fórmula de Newton. x Es conveniente graficar la ecuación mediante los siguientes comandos de MATLAB. También se puede editar el dibujo directamente en la ventana de graficación: >> syms x >> f=exp(x)-pi*x; >> ezplot(f,[0,2]),grid on A continuación se utliza la fórmula de Newton en MATLAB eligiendo del gráfico un valor inicial. Reutilizando este comando se obtiene una secuencia de aproximaciones: >> format long >> x=0.5;
  • 7. 39 >> x=x-eval(f)/eval(diff(f)) x= 0.552198029112459 >> x=x-eval(f)/eval(diff(f)) x= 0.553825394773978 >> x=x-eval(f)/eval(diff(f)) x= 0.553827036642841 >> x=x-eval(f)/eval(diff(f)) x= 0.553827036644514 >> x=x-eval(f)/eval(diff(f)) x= 0.553827036644514 El último resultado tiene quince decimales fijos. Se puede observar la rapidez con la que el método se acerca a la respuesta duplicando aproximadamente, la precisión en cada iteración. Esto concuerda con la propiedad de convergencia cuadrática. Finalmente, es necesario verificar que este resultado satisface a la ecuación: >> eval(f) ans = 0 Ejemplo. Se propone el siguiente modelo para describir la demanda de un producto, en donde x es tiempo en meses: d(x) = 20x e −0.075x Encuentre el valor de x para el cual la demanda alcanza el valor de 80 unidades. Use el método de Newton para los cálculos. Elija el valor inicial del gráfico y muestre los valores intermedios. La ecuación a resolver es: f(x) 20x e −0.075x − 80 0 = = >> syms x >> f=20*x*exp(-0.075*x)-80; (20 x)/exp((3 x)/40) - 80 >> ezplot(f,[0,50]),grid on >> x=5; 20 >> x=x-eval(f)/eval(diff(f)) x= 0 6.311945053556490 -20 >> x=x-eval(f)/eval(diff(f)) x= -40 6.520455024943885 >> x=x-eval(f)/eval(diff(f)) -60 x= 6.525360358429755 -80 >> x=x-eval(f)/eval(diff(f)) 0 10 20 30 40 50 x= x 6.525363029068742 >> x=x-eval(f)/eval(diff(f)) x= 6.525363029069534 >> x=x-eval(f)/eval(diff(f)) x= 6.525363029069534
  • 8. 40 Ejemplo. Una partícula se mueve en el plano X-Y de acuerdo con las ecuaciones paramétricas siguientes, donde t es tiempo, entre 0 y 1: x(t)=t*exp(t) y(t)=1+t*exp(2t) Con la fórmula de Newton calcule el tiempo en el que la partícula está más cerca del punto (1,1) Distancia de un punto (x, y) al punto (1, 1) : = d (x(t) − 1)2 + (y(t) − 1)2 Para encontrar la menor distancia, debe resolverse la ecuación: f(t) = d’(t) = 0 >> t=[0:0.01:1]; Puntos para evaluar las ecuaciones paramétricas >> x=t.*exp(t); >> y=1+t.*exp(2*t); >> plot(x,y) Gráfico del recorrido 9 8 7 6 5 4 3 2 1 0 0 0.5 1 1.5 2 2.5 3 >> syms t >> x=t*exp(t); >> y=1+t*exp(2*t); >> d=sqrt((x-1)^2+(y-1)^2) (para operar algebraicamente) d= (t^2*exp(4*t) + (t*exp(t) - 1)^2)^(1/2) >> f=diff(d); >> t=0.5; >> t=t-eval(f)/eval(diff(f)) t= 0.278246639067713 >> t=t-eval(f)/eval(diff(f)) t= 0.258310527656699 >> t=t-eval(f)/eval(diff(f)) t= 0.256777599742604 >> t=t-eval(f)/eval(diff(f)) t= 0.256768238259669 >> t=t-eval(f)/eval(diff(f)) t= 0.256768237910400 >> t=t-eval(f)/eval(diff(f)) t= 0.256768237910400 (tiempo para la menor distancia) >> eval(d) ans = 0.794004939848305 (es la menor distancia)
  • 9. 41 Ejemplo. Encuentre una intersección de las siguientes ecuaciones en coordenadas polares r=2+cos(3*t) t r=2- e t Ecuación a resolver: f(t) = 2+cos(3*t) – (2-e ) >> t=[-pi:0.01:2*pi]; Puntos para evaluar las ecuaciones >> r=2+cos(3*t); >> polar(t,r),hold on >> r=2- exp(t); >> polar(t,r) Gráfico en coordenadas polares 90 3 120 60 2 150 30 1 180 0 210 330 240 300 270 >> syms t >> f=2+cos(3*t)-(2-exp(t)); >> t=-1; (valor inicial) >> t=t-eval(f)/eval(diff(f)) t= -0.213748703557153 >> t=t-eval(f)/eval(diff(f)) t= -0.832049609116596 >> t=t-eval(f)/eval(diff(f)) t= -0.669680711112045 >> t=t-eval(f)/eval(diff(f)) t= -0.696790503081824 >> t=t-eval(f)/eval(diff(f)) t= -0.697328890705191 >> t=t-eval(f)/eval(diff(f)) t= -0.697329123134159 >> t=t-eval(f)/eval(diff(f)) t= -0.697329123134202 >> t=t-eval(f)/eval(diff(f)) t= -0.697329123134202 (ángulo: -39.95…. grados) >> r=2+cos(3*t) r= 1.502086605214547 (radio)
  • 10. 42 3.3.7 Instrumentación computacional del método de Newton Para evitar iterar desde la ventana de comandos, se puede instrumentar una función que reciba la ecuación a resolver f, la variable independiente v definida como símbolo matemático y el valor inicial u. Adicionalmente se puede enviar un parámetro e para controlar la precisión requerida y otro parámetro m para el máximo de iteraciones. La función entrega la solución calculada u y el número de iteraciones realizadas k. Si el método no converge en el máximo de iteraciones previsto, u será un valor nulo y el número de iteraciones k será igual al máximo m. function [u,k]=newton(f,v,u,e,m) t=u; for k=1:m u=u-subs(f,v,u)/subs(diff(f,v),v,u); if abs(t-u)<e return end t=u; end u=[ ]; k=m; Ejemplo. Calcule las dos raíces reales de f(x) = e - πx = 0 con la función newton. Los valores x iniciales son tomados del gráfico. >> syms x >> f=exp(x)-pi*x; >> ezplot(f,[0,2]),grid on exp(x) - π x 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 x >> [u,k]=newton(f, x, 0.5, 0.000001, 10) u= 0.553827036644514 Primera raíz k= 4 >> [u,k]=newton(f, x, 1.6, 0.000001, 10) u= 1.638528419970363 Segunda raíz k= 4 Si no es de interés el número de iteraciones, la función puede llamarse solo con un parámetro >> u=newton(f, x, 0.5, 0.000001, 10) u= 0.553827036644514
  • 11. 43 3.3.8 Uso de funciones especiales de MATLAB MATLAB dispone de funciones especiales para calcular raíces de ecuaciones no lineales. La función fzero Es equivalente a usar los métodos de la bisección y de Newton Ejemplo. Resuelva la ecuación f(x) = e - πx = 0 usando fzero x >> f='exp(x)-pi*x'; >> r=fzero(f, [0.4, 0.8]) (Para usar como el método de la bisección r= se especifica el intervalo que contiene a la raíz) 0.55382703664451 >> f='exp(x)-pi*x'; >> r=fzero(f, 0.4) (Para usar como el método de Newton r= se especifica un valor cercano a la raíz) 0.553827036644514 >> r=fzero(f, 1.6) r= 1.638528419970363 La función solve Se usa resolver ecuaciones en forma simbólica exacta. En algunos casos la solución queda expresada mediante símbolos predefinidos en MATLAB. Con la función eval se convierten las soluciones al formato numérico decimal. Esta función no entrega todas las soluciones de una ecuación. Ejemplo. Resuelva la ecuación f(x) = e - πx = 0 usando solve x >> f='exp(x)-pi*x'; >> r=eval(solve(f)) r= 0.553827036644514 (Raíz real en forma numérica decimal) La función roots Sirve para calcular todas las raíces de ecuaciones polinómicas. Los coeficientes del polinomio deben almacenarse en un vector. 3 2 Ejemplo. Encuentre todas las raíces del polinomio 2x - 5x - 4x - 7 = 0 usando roots >> a=[2, -5, -4, -7]; (Coeficientes del polinomio) >> r=roots(a) r= 3.39334562071304 (Una raíz real y dos raíces complejas) -0.44667281035652 + 0.91209311493838i -0.44667281035652 - 0.91209311493838i