SlideShare una empresa de Scribd logo
48


3.5       Raíces reales de sistemas de ecuaciones no-lineales
En general este es un problema difícil, por lo que conviene intentar reducir el número de
ecuaciones y en caso de llegar a una ecuación, poder aplicar alguno de los métodos conocidos.
Si no es posible reducir el sistema, entonces se intenta resolverlo con métodos especiales para
sistemas de ecuaciones no-lineales.
Debido a que el estudio de la convergencia de estos métodos es complicado, se prefiere utilizar
algún método eficiente, de tal manera que numéricamente pueda determinarse la convergencia o
divergencia con los resultados obtenidos.
Una buena estrategia consiste en extender el método de Newton, cuya convergencia es de
segundo orden, al caso de sistemas de ecuaciones no lineales. En esta sección se describe la
fórmula para resolver un sistema de n ecuaciones no lineales y se la aplica a la solución de un
sistema de dos ecuaciones. Al final de este capítulo se propone una demostración más formal de
esta fórmula.

3.5.1     Fórmula iterativa de segundo orden para calcular raíces reales de sistemas de
          ecuaciones no-lineales

Sean F: f1, f2, …, fn sistema de ecuaciones no lineales con variables X: x1, x2, …, xn. Se
requiere calcular un vector real que satisfaga al sistema F

En el caso de que F contenga una sola ecuación f con una variable x, la conocida fórmula
iterativa de Newton puede escribirse de la siguiente manera:
                                    df (k) −1 (k)
          x (k + 1) x (k) − (
             =                            ) f , k=0, 1, 2, …         (iteraciones)
                                     dx
Si F contiene n ecuaciones, la fórmula se puede extender, siempre que las derivadas existan:

                              ∂F(k) −1 (k)
          X (k + 1) =
                    X (k) − (      ) F = (k) )−1F(k)
                                           X (k) − (J
                               ∂X
En donde:
                                                                              ∂f1(k)   ∂f1(k)         ∂f1(k) 
                                                                                                ...          
                       x (k + 1)
                                            x 
                                                (k)
                                                            f 
                                                               (k)            ∂x 1     ∂x 2           ∂x n 
                       
                          1
                                            
                                                1
                                                            
                                                               1              ∂f (k)   ∂f2(k)         ∂f2(k) 
                         x(k + 1)               (k)            (k)
                                  , X (k) =  x  , F(k) =  f  , J(k)      2                 ...          
          X (k + 1)   =  2                     2              2
                                                                           =  ∂x 1     ∂x 2           ∂x n 
                        ...                 ...          ... 
                        (k + 1)             (k)          (k)            ...       ...     ...    ... 
                        xn 
                                            xn 
                                                           fn 
                                                                                                           
                                                                              ∂fn(k)
                                                                                        ∂fn
                                                                                          (k)
                                                                                                       ∂fn 
                                                                                                          (k)

                                                                                                ...          
                                                                              ∂x 1     ∂x 2           ∂x n 
J es la matriz jacobiana

Esta ecuación de recurrencia se puede usar iterativamente con k=0, 1, 2, … partiendo de un
vector inicial X (0) generando vectores de aproximación: X (1) , X (2) , X (3) , …

3.5.2     Convergencia del método de Newton para sistemas de ecuaciones no lineales
En forma general la convergencia de este método para sistemas no lineales requiere que:
      a) f1, f2, … fn así como sus derivadas sean continuas en la región de aplicación.
      b) El determinante del Jacobiano no se anule en esta región
      c) El valor inicial y los valores calculados pertenezcan a esta región, la cual incluye a la raíz
         que se intenta calcular
49

3.5.3        Algoritmo del método de Newton para sistemas de ecuaciones no lineales
Dado un sistema de ecuaciones F = 0, sea J su matriz Jacobiana. El siguiente algoritmo genera
una sucesión de vectores que se espera tienda al vector solución:
                                             (0)
            1) Elegir el vector inicial X
            2) Generar la sucesión de vectores con la fórmula iterativa:
                      X (k + 1) X (k) − (J(k) )−1F(k) , k=0, 1, 2, …
                         =
                                                                     (k)
            3) Si el método converge, la sucesión de vectores X tenderá hacia un vector que
               satisface al sistema de ecuaciones F = 0


Ejemplo. Encuentre las raíces reales del sistema:
                 f1 (x, y) = (x − 2)2 + (y − 1)2 + xy − 3 = 0
                 f 2 (x,= xe x + y + y − 3 0
                        y)              =

En el caso de dos ecuaciones con dos variables, sus gráficos pueden visualizarse en el plano.
Las raíces reales son las intersecciones.

La siguiente figura obtenidap(con MATLAB muestra el gráfico de las dos ecuaciones.
                        y  e    y) 3 0
            4



            3



            2



            1
        y




            0



            -1



            -2
                 0      0.5   1    1.5   2   2.5   3    3.5     4
                                         x

El gráfico se obtuvo con los siguientes comandos de MATLAB y el editor de gráficos:
                     >> syms x y
                     >> f=[(x-2)^2 + (y-1)^2+x*y-3, x*exp(x+y)+y-3];
                     >> ezplot(f(1),[0,4,-2,4]),grid on,hold on
                     >> ezplot(f(2),[0,4,-2,4])

No es posible reducir el sistema a una ecuación, por lo que se debe utilizar un método para
resolverlo simultáneamente con la fórmula propuesta:


Obtención de la solución con el método de Newton para dos ecuaciones:
                 f1 (x, y) = (x − 2)2 + (y − 1)2 + xy − 3 = 0
                 f 2 (x,= xe x + y + y − 3 0
                        y)              =
                                  x (0)  0.5 
Comenzar con el vector inicial = = 
                               X     (0) 
                                             (0)
                                                 tomado del gráfico
                                  y  1.0 
50

      Matriz jacobiana y vectores:
    ∂f1 ∂f1 
    ∂x ∂y   2x + y − 4 x + 2y − 2 
= =  x + y
 J                                     
    ∂f2 ∂f2   e (1 + x) xe x + y + 1 
    ∂x ∂y 
            

           x     f1  (x − 2)2 + (y − 1)2 + xy − 3 
       X =   ,= = 
                F                                     
            y    f2         xe x + y + y − 3      

      Ecuación de recurrencia

              X (k + 1) X (k) − (J(k) )−1F(k)
                 =

      Primera iteración: k=0

              X (1) X (0) − (J(0) )−1F(0)
              =

                                                                  −1
               x (1)  0.5   2(0.5) + 1 − 4 0.5 + 2(1) − 2  (0.5 − 2)2 + (1 − 1)2 + 0.5(1) − 3 
              =   −  0.5 + 1
                  (1)                                                                              
               y  1.0   e        (1 + 0.5) 0.5e 0.5 + 1 + 1  
                                                                         0.5e0.5 + 1 + 1 − 3        
                                                          −1
               x (1)  0.5   −2      0.5   −0.25 
              =   − 
                  (1)                                  
               y  1.0  6.7225 3.2408  0.2408 
               x (1)  0.5   −0.3293 0.0508   −0.25  0.4055 
               (1)  =  
                         −                             =       
               y  1.0   0.6830 0.2032  0.2408  1.1218 


      3.5.4   Práctica computacional
      Obtención de las raíces de las ecuaciones para el ejemplo anterior calculando directamente en la
      ventana de comandos de MATLAB mediante la ecuación de recurrencia:

                        X (k + 1) X (k) − (J(k) )−1F(k)
                           =

               >> syms x y
               >> f1=(x-2)^2 + (y-1)^2+x*y-3;
               >> f2=x*exp(x+y)+y-3;
               >> J=[diff(f1,x) diff(f1,y); diff(f2,x) diff(f2,y)]
               J=
               [         2*x + y - 4,                 x + 2*y - 2]
               [ exp(x + y) + x*exp(x + y), x*exp(x + y) + 1]
               >> F=[f1; f2];
               >> X=[x;y];
               >> x=0.5; y=1;
               >> X=eval(X)                                        Valores iniciales
               X=
                 0.500000000000000
                 1.000000000000000
               >> X=X-inv(eval(J))*eval(F)                         Primera iteración
51

           X=
            0.405451836483295
            1.121807345933181
           >> x=X(1); y=X(2);
           >> X=X-inv(eval(J))*eval(F)                      Segunda iteración
           X=
            0.409618877363502
            1.116191209478471
           >> x=X(1); y=X(2);
           >> X=X-inv(eval(J))*eval(F)
           X=
            0.409627787030011
            1.116180137991844
           >> x=X(1); y=X(2);
           >> X=X-inv(eval(J))*eval(F)
           X=
            0.409627787064807
            1.116180137942813
           >> x=X(1); y=X(2);
           >> X=X-inv(eval(J))*eval(F)
           X=
            0.409627787064807
            1.116180137942814

           >> eval(f1)                                      Verificar la solución
           ans =
             -4.440892098500626e-016
           >> eval(f2)
           ans =
              4.440892098500626e-016


3.5.5 Instrumentación computacional del método de Newton para un sistema de n
      ecuaciones no-lineales.

Sea       F: f1, f2, …, fn ecuaciones con variables independientes X: x1, x2, …, xn.

Ecuación de recurrencia:

          X (k + 1) X (k) − (J(k) )−1F(k) , k=0, 1, 2, …
             =

En donde J es la matriz jacobiana del sistema

Entrada
          f:       Vector con las ecuaciones
          v:       Vector con las variables independientes
          u:       Vector con valores iniciales para las variables

Salida
          u:       Vector con los nuevos valores calculados para las variables

Nota: La convergencia será controlada interactivamente reusando la función esde la ventana
de comandos. Por las propiedades de este método, la convergencia o divergencia será muy
rápida.
52

Alternativamente, se puede incorporar a la instrumentación un ciclo con un máximo de
iteraciones para que las iteraciones se realicen dentro de la función.

Las derivadas parciales se obtienen con la función diff y la sustitución de los valores de u en las
variables se realiza con la función subs. La solución se la obtiene con la inversa de la matriz de
las derivadas parciales J.

        function u = snewton(f, v, u) %Sistemas no lineales
        n=length(f);
        for i=1:n                             %Obtención de la matriz jacobiana J
          for j=1:n
              J(i,j)=diff(f(i),v(j));
          end
        end
        for i=1:n                             %Sustitución del vector u en J
          for j=1:n
              for k=1:n
                 if findstr(char(J(i,j)),char(v(k)))>0
                      J(i,j)=subs(J(i,j),v(k),u(k));
                 end
              end
          end
        end

        for i=1:n
          for j=1:n
              f(i)=subs(f(i),v(j),u(j));   %Sustitución del vector u en el vector f
          end
        end

        u=u-inv(eval(J))*eval(f);          %Obtención de la nueva aproximación u


Ejemplo. Use la función snewton para encontrar una raíz real del sistema
        f1 (x, y) = (x − 2)2 + (y − 1)2 + xy − 3 = 0
        f 2 (x,= xe x + y + y − 3 0
               y)              =

        >> syms x y
        >> f1=(x-2)^2 + (y-1)^2+x*y-3;
        >> f2=x*exp(x+y)+y-3;
        >> f=[f1;f2];
        >> v=[x;y];
        >> u=[0.5; 1];                                    Valores iniciales tomados del gráfico
        >> u=snewton(f, v, u)
        u=
         0.405451836483295
         1.121807345933181
        >> u=snewton(f, v, u)
        u=
         0.409618877363502
         1.116191209478472
        >> u=snewton(f, v, u)
        u=
         0.409627787030011
         1.116180137991845
53

        >> u=snewton(f, v, u)
        u=
         0.409627787064807
         1.116180137942814

        >> u=snewton(f, v, u)
        u=
         0.409627787064807
         1.116180137942814

Se observa la rápida convergencia.
Para verificar que son raíces reales de las ecuaciones debe evaluarse f

        >> subs(f1,{x,y},{u(1),u(2)})
        ans =
          4.440892098500626e-016
        >> subs(f2,{x,y},{u(1),u(2)})
        ans =
           0
Los valores obtenidos son muy pequeños, por lo cual se aceptan las raíces calculadas

Para calcular la otra raíz, tomamos del gráfico los valores iniciales cercanos a esta raíz.
        >> u=[2.4; -1.5];
        >> u=snewton(f, v, u)
        u=
          2.261842718297048
         -1.535880731849205
        >> u=snewton(f, v, u)
        u=
          2.221421001369104
         -1.512304705819129
        >> u=snewton(f, v, u)
        u=
          2.220410814294533
         -1.511478104887419
        >> u=snewton(f, v, u)
        u=
          2.220410327256473
         -1.511477608846960
        >> u=snewton(f, v, u)
        u=
          2.220410327256368
         -1.511477608846834
        >> u=snewton(f, v, u)
        u=
          2.220410327256368
         -1.511477608846835

        >> subs(f1,{x,y},{u(1),u(2)})             (Comprobar si es una solución del sistema)
        ans =
         -8.881784197001252e-016
        >> subs(f2,{x,y},{u(1),u(2)})
        ans =
          8.881784197001252e-016
54

3.5.6       Uso de funciones de MATLAB para resolver sistemas no-lineales
La función solve de MATLAB se puede usar para resolver sistemas no lineales como el ejemplo
anterior:

            >> syms x y
            >> f1=(x-2)^2 + (y-1)^2+x*y-3;
            >> f2=x*exp(x+y)+y-3;
            >> f=[f1;f2];
            >> [x,y]=solve(f)
            x=
               0.40962778706480689876647619089358
            y=
               1.116180137942813562571698234565

El método solve de MATLAB proporciona solamente una de las dos soluciones. Con esto
concluimos que no siempre los programas computacionales disponibles producen todas las
respuestas esperadas.


3.5.7       Obtención de la fórmula iterativa de segundo orden para calcular raíces reales de
            sistemas de ecuaciones no lineales

Se considera el caso de dos ecuaciones y luego se generaliza a más ecuaciones

Sean        f1(x1, x2) = 0, f2(x1, x2) = 0 dos ecuaciones no-lineales con variables x1, x2.

Sean r1, r2 valores reales tales que f1(r1, r2) = 0, f2(r1, r2) = 0, entonces (r1, r2) constituye una
raíz real del sistema y es de interés calcularla.

Suponer que f1, f2 son funciones diferenciables en alguna región cercana al punto (r1, r2)

Con el desarrollo de la serie de Taylor expandimos f1, f2 desde el punto (x1 , x (k) ) al punto
                                                                           (k)
                                                                                 2

(x1 + 1) , x (k + 1) )
  (k
             2

                                            ∂f1(k)                       ∂f (k)
            f1(k + 1) = + (x1 + 1) − x1 )
                      f1(k) (k        (k)
                                                   + (x (k + 1) − x (k) ) 1 + O(x1 + 1) − x1 )2 + O(x 2 + 1) − x 2 )2
                                                                                 (k        (k)        (k         (k)

                                            ∂x 1                         ∂x 2
                                                        2           2


                                            ∂f2(k)                       ∂f (k)
            f2(k + 1) = + (x1 + 1) − x1 )
                      f2(k) (k        (k)
                                                   + (x (k + 1) − x (k) ) 2 + O(x1 + 1) − x1 )2 + O(x 2 + 1) − x 2 )2
                                                                                 (k        (k)        (k         (k)

                                            ∂x 1                         ∂x 2
                                                        2           2




Por simplicidad se ha usado la notación:            f1(k) = f1 (x1 , x (k) ) , f1(k + 1) = f1 (x1 + 1) , x (k + 1) ) , etc.
                                                                 (k)
                                                                       2
                                                                                                (k
                                                                                                           2


En los últimos términos de ambos desarrollos se han escrito únicamente los componentes de
interés, usando la notación O( ).

Las siguientes suposiciones, son aceptables en una región muy cercana a (r1, r2):
55



      (x1 , x (k) ) cercano a la raíz (r1, r2)
        (k)
              2




Si el método converge cuadráticamente entonces (x1 + 1) , x (k + 1) ) estará muy cercano a (r1, r2)
                                                 (k
                                                            2

Por lo tanto se puede aproximar:
         f1 (x1 + 1) , x (k + 1) ) ≈ 0
              (k
                         2

         f2 (x1 + 1) , x 2 + 1) ) ≈ 0
              (k         (k




Por otra parte, si (x 1 , x 2 ) es cercano a (x1 + 1) , x (k + 1) ) , las diferencias serán pequeñas y al
                             (k)    (k)        (k
                                                          2
elevarse al cuadrado se obtendrán valores más pequeños y se los omite.

Sustituyendo en el desarrollo propuesto se obtiene como aproximación el sistema lineal:

                                                ∂f1(k)                 (k) ∂f
                                                                              (k)
         0 = + (x1 + 1) − x1 )
           f1(k) (k        (k)
                                                       + (x 2 + 1) − x 2 ) 1
                                                            (k

                                                ∂x 1                       ∂x 2
                                                ∂f2(k)                 (k) ∂f
                                                                              (k)
         0 = + (x1 + 1) − x1 )
           f2(k) (k        (k)
                                                       + (x 2 + 1) − x 2 ) 2
                                                            (k

                                                ∂x 1                       ∂x 2

En notación matricial:
         −F(k) J(k) (X (k + 1) − X (k) )
         =
Siendo
                                                                                                        ∂f1(k)   ∂f1(k) 
                                                                                                                        
                      f1(k)                   x1 
                                                  (k)
                                                                               x1 + 1) 
                                                                                 (k
                                                                                                         ∂x 1     ∂x 2 
         F   (k)
                   =  (k)  ,     X   (k)
                                             =  (k)  ,      X   (k + 1)
                                                                            =  (k + 1)  ,   J(k)   =  (k)
                      f2                      x2                           x2                     ∂f       ∂f2(k) 
                                                                                                        2               
                                                                                                        ∂x 1
                                                                                                                 ∂x 2  
         J(k) X (k + 1) J(k) X (k) − F(k)
           =

         X (k + 1) X (k) − (J(k) )−1F(k) ,
            =                                              | J(k) |≠ 0

Es la ecuación de recurrencia que se puede usar iterativamente con k=0, 1, 2, … partiendo de
un vector inicial X (0) generando vectores de aproximación: X (1) , X (2) , X (3) , …

La notación matricial y la ecuación de recurrencia se extienden directamente a sistemas de n
ecuaciones no lineales f1, f2, …, fn con variables x1, x2, …, xn. La matriz de las derivadas
parciales J se denomina jacobiano. La ecuación de recurrencia se reduce a la fórmula de
Newton si se tiene una sola ecuación.

Más contenido relacionado

PDF
6.metodo de newton
PDF
La Derivada
PDF
examen de calculo 1
PDF
Practica3diferenciacion
DOC
Derivadas resueltas-paso-a-paso1c2ba-css
PDF
Derivadas resumen
PDF
El concepto del limite (Cálculo I)
PDF
4 extremos
6.metodo de newton
La Derivada
examen de calculo 1
Practica3diferenciacion
Derivadas resueltas-paso-a-paso1c2ba-css
Derivadas resumen
El concepto del limite (Cálculo I)
4 extremos

La actualidad más candente (17)

PDF
Series Numericas
PDF
Notas de Cálculo Diferencial
PDF
Ejercicios resueltos 2011
PDF
7 análisis vectorial
PDF
La Integral Indefinida
PDF
Continuidad De Funciones
PPT
Integrales indefinidas
PDF
ALGEBRA SUPERIOR MÓDULO I - Funciones y Limites
PDF
La derivada3
PDF
Interpolacion lagrange
PPTX
Regla de la cadena
DOCX
INTEGRAL INDEFINIDA Y SUS APLICACIONES
PDF
Ejercicios resueltos de derivadas
PPTX
Integral Indefinida
PDF
Cap 9 función de una variable real
PDF
Integral indefinida
PPTX
Integrales inmediatas
Series Numericas
Notas de Cálculo Diferencial
Ejercicios resueltos 2011
7 análisis vectorial
La Integral Indefinida
Continuidad De Funciones
Integrales indefinidas
ALGEBRA SUPERIOR MÓDULO I - Funciones y Limites
La derivada3
Interpolacion lagrange
Regla de la cadena
INTEGRAL INDEFINIDA Y SUS APLICACIONES
Ejercicios resueltos de derivadas
Integral Indefinida
Cap 9 función de una variable real
Integral indefinida
Integrales inmediatas
Publicidad

Destacado (9)

PDF
Ptofijonewton2 variables
DOCX
Practica 3 regla falsa
PPT
Presentación muller
PDF
PPTX
Metodo de muller
PDF
Parte 1 metodos numericos con matlab mathews-fink- 3ra. ed.
DOCX
Algoritmos para matlab
PDF
Metodos numericos con matlab
PDF
Solucion de-problemas-de-ingenieria-con-matlab
Ptofijonewton2 variables
Practica 3 regla falsa
Presentación muller
Metodo de muller
Parte 1 metodos numericos con matlab mathews-fink- 3ra. ed.
Algoritmos para matlab
Metodos numericos con matlab
Solucion de-problemas-de-ingenieria-con-matlab
Publicidad

Similar a 7.metodo de newton2 (20)

PDF
ecuacion de_difusion_esquema_de_crank_nicholson
PDF
Intro parte3
PPT
Theme 5
PDF
EXTREMADURA Selectividad MATEMÁTICAS II sep 12
PPT
Series de fourier (n)
DOCX
Funciones trigonométrica
PPTX
7 aproximacion de funciones
PDF
Calculo u5
PDF
Espacios vectoriales
PDF
Sumatorios con álgebra lineal
PDF
PDF
Análisis de Fourier y CAD 3
PDF
PRESENTACION_SISTEMAS_ECUACIONES_NO_LINEALES.pdf
PDF
PDF
Series de fourier
PDF
Sistemas no lineales
PPTX
DOC
Ecparciales
PDF
Apunte unidad derivadas
ecuacion de_difusion_esquema_de_crank_nicholson
Intro parte3
Theme 5
EXTREMADURA Selectividad MATEMÁTICAS II sep 12
Series de fourier (n)
Funciones trigonométrica
7 aproximacion de funciones
Calculo u5
Espacios vectoriales
Sumatorios con álgebra lineal
Análisis de Fourier y CAD 3
PRESENTACION_SISTEMAS_ECUACIONES_NO_LINEALES.pdf
Series de fourier
Sistemas no lineales
Ecparciales
Apunte unidad derivadas

Más de rjvillon (9)

PDF
11.sistemas singulares
PDF
10.sistemas mal condicionados
PDF
8.gaussjordan
PDF
5.metodo del punto fijo
PDF
4.metodo de la biseccion
PDF
3.metodo directo
PDF
2.metodo iterativo
PDF
1.introduccion analisis
PDF
9.metododegauss
11.sistemas singulares
10.sistemas mal condicionados
8.gaussjordan
5.metodo del punto fijo
4.metodo de la biseccion
3.metodo directo
2.metodo iterativo
1.introduccion analisis
9.metododegauss

Último (20)

PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
Lección 6 Escuela Sab. A través del mar rojo.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Híper Mega Repaso Histológico Bloque 3.pdf
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Lección 6 Escuela Sab. A través del mar rojo.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
ciencias-1.pdf libro cuarto basico niños
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
2 GRADO UNIDAD 5 - 2025.docx para primaria
Fundamentos_Educacion_a_Distancia_ABC.pdf
COMUNICACION EFECTIVA PARA LA EDUCACION .pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Tomo 1 de biologia gratis ultra plusenmas
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto

7.metodo de newton2

  • 1. 48 3.5 Raíces reales de sistemas de ecuaciones no-lineales En general este es un problema difícil, por lo que conviene intentar reducir el número de ecuaciones y en caso de llegar a una ecuación, poder aplicar alguno de los métodos conocidos. Si no es posible reducir el sistema, entonces se intenta resolverlo con métodos especiales para sistemas de ecuaciones no-lineales. Debido a que el estudio de la convergencia de estos métodos es complicado, se prefiere utilizar algún método eficiente, de tal manera que numéricamente pueda determinarse la convergencia o divergencia con los resultados obtenidos. Una buena estrategia consiste en extender el método de Newton, cuya convergencia es de segundo orden, al caso de sistemas de ecuaciones no lineales. En esta sección se describe la fórmula para resolver un sistema de n ecuaciones no lineales y se la aplica a la solución de un sistema de dos ecuaciones. Al final de este capítulo se propone una demostración más formal de esta fórmula. 3.5.1 Fórmula iterativa de segundo orden para calcular raíces reales de sistemas de ecuaciones no-lineales Sean F: f1, f2, …, fn sistema de ecuaciones no lineales con variables X: x1, x2, …, xn. Se requiere calcular un vector real que satisfaga al sistema F En el caso de que F contenga una sola ecuación f con una variable x, la conocida fórmula iterativa de Newton puede escribirse de la siguiente manera: df (k) −1 (k) x (k + 1) x (k) − ( = ) f , k=0, 1, 2, … (iteraciones) dx Si F contiene n ecuaciones, la fórmula se puede extender, siempre que las derivadas existan: ∂F(k) −1 (k) X (k + 1) = X (k) − ( ) F = (k) )−1F(k) X (k) − (J ∂X En donde:  ∂f1(k) ∂f1(k) ∂f1(k)   ...  x (k + 1)  x  (k) f  (k)  ∂x 1 ∂x 2 ∂x n   1   1    1  ∂f (k) ∂f2(k) ∂f2(k)  x(k + 1) (k) (k)  , X (k) =  x  , F(k) =  f  , J(k)  2 ...  X (k + 1) = 2 2 2 =  ∂x 1 ∂x 2 ∂x n   ...   ...   ...   (k + 1)   (k)   (k)   ... ... ... ...   xn     xn     fn       ∂fn(k) ∂fn (k) ∂fn  (k)  ...   ∂x 1 ∂x 2 ∂x n  J es la matriz jacobiana Esta ecuación de recurrencia se puede usar iterativamente con k=0, 1, 2, … partiendo de un vector inicial X (0) generando vectores de aproximación: X (1) , X (2) , X (3) , … 3.5.2 Convergencia del método de Newton para sistemas de ecuaciones no lineales En forma general la convergencia de este método para sistemas no lineales requiere que: a) f1, f2, … fn así como sus derivadas sean continuas en la región de aplicación. b) El determinante del Jacobiano no se anule en esta región c) El valor inicial y los valores calculados pertenezcan a esta región, la cual incluye a la raíz que se intenta calcular
  • 2. 49 3.5.3 Algoritmo del método de Newton para sistemas de ecuaciones no lineales Dado un sistema de ecuaciones F = 0, sea J su matriz Jacobiana. El siguiente algoritmo genera una sucesión de vectores que se espera tienda al vector solución: (0) 1) Elegir el vector inicial X 2) Generar la sucesión de vectores con la fórmula iterativa: X (k + 1) X (k) − (J(k) )−1F(k) , k=0, 1, 2, … = (k) 3) Si el método converge, la sucesión de vectores X tenderá hacia un vector que satisface al sistema de ecuaciones F = 0 Ejemplo. Encuentre las raíces reales del sistema: f1 (x, y) = (x − 2)2 + (y − 1)2 + xy − 3 = 0 f 2 (x,= xe x + y + y − 3 0 y) = En el caso de dos ecuaciones con dos variables, sus gráficos pueden visualizarse en el plano. Las raíces reales son las intersecciones. La siguiente figura obtenidap(con MATLAB muestra el gráfico de las dos ecuaciones. y e y) 3 0 4 3 2 1 y 0 -1 -2 0 0.5 1 1.5 2 2.5 3 3.5 4 x El gráfico se obtuvo con los siguientes comandos de MATLAB y el editor de gráficos: >> syms x y >> f=[(x-2)^2 + (y-1)^2+x*y-3, x*exp(x+y)+y-3]; >> ezplot(f(1),[0,4,-2,4]),grid on,hold on >> ezplot(f(2),[0,4,-2,4]) No es posible reducir el sistema a una ecuación, por lo que se debe utilizar un método para resolverlo simultáneamente con la fórmula propuesta: Obtención de la solución con el método de Newton para dos ecuaciones: f1 (x, y) = (x − 2)2 + (y − 1)2 + xy − 3 = 0 f 2 (x,= xe x + y + y − 3 0 y) =  x (0)  0.5  Comenzar con el vector inicial = =  X (0)  (0)  tomado del gráfico  y  1.0 
  • 3. 50 Matriz jacobiana y vectores:  ∂f1 ∂f1   ∂x ∂y   2x + y − 4 x + 2y − 2  = =  x + y J    ∂f2 ∂f2   e (1 + x) xe x + y + 1   ∂x ∂y    x  f1  (x − 2)2 + (y − 1)2 + xy − 3  X =   ,= =  F    y  f2   xe x + y + y − 3  Ecuación de recurrencia X (k + 1) X (k) − (J(k) )−1F(k) = Primera iteración: k=0 X (1) X (0) − (J(0) )−1F(0) = −1  x (1)  0.5   2(0.5) + 1 − 4 0.5 + 2(1) − 2  (0.5 − 2)2 + (1 − 1)2 + 0.5(1) − 3  =   −  0.5 + 1 (1)     y  1.0   e (1 + 0.5) 0.5e 0.5 + 1 + 1    0.5e0.5 + 1 + 1 − 3  −1  x (1)  0.5   −2 0.5   −0.25  =   −  (1)      y  1.0  6.7225 3.2408  0.2408   x (1)  0.5   −0.3293 0.0508   −0.25  0.4055   (1)  =    − =   y  1.0   0.6830 0.2032  0.2408  1.1218  3.5.4 Práctica computacional Obtención de las raíces de las ecuaciones para el ejemplo anterior calculando directamente en la ventana de comandos de MATLAB mediante la ecuación de recurrencia: X (k + 1) X (k) − (J(k) )−1F(k) = >> syms x y >> f1=(x-2)^2 + (y-1)^2+x*y-3; >> f2=x*exp(x+y)+y-3; >> J=[diff(f1,x) diff(f1,y); diff(f2,x) diff(f2,y)] J= [ 2*x + y - 4, x + 2*y - 2] [ exp(x + y) + x*exp(x + y), x*exp(x + y) + 1] >> F=[f1; f2]; >> X=[x;y]; >> x=0.5; y=1; >> X=eval(X) Valores iniciales X= 0.500000000000000 1.000000000000000 >> X=X-inv(eval(J))*eval(F) Primera iteración
  • 4. 51 X= 0.405451836483295 1.121807345933181 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) Segunda iteración X= 0.409618877363502 1.116191209478471 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) X= 0.409627787030011 1.116180137991844 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) X= 0.409627787064807 1.116180137942813 >> x=X(1); y=X(2); >> X=X-inv(eval(J))*eval(F) X= 0.409627787064807 1.116180137942814 >> eval(f1) Verificar la solución ans = -4.440892098500626e-016 >> eval(f2) ans = 4.440892098500626e-016 3.5.5 Instrumentación computacional del método de Newton para un sistema de n ecuaciones no-lineales. Sea F: f1, f2, …, fn ecuaciones con variables independientes X: x1, x2, …, xn. Ecuación de recurrencia: X (k + 1) X (k) − (J(k) )−1F(k) , k=0, 1, 2, … = En donde J es la matriz jacobiana del sistema Entrada f: Vector con las ecuaciones v: Vector con las variables independientes u: Vector con valores iniciales para las variables Salida u: Vector con los nuevos valores calculados para las variables Nota: La convergencia será controlada interactivamente reusando la función esde la ventana de comandos. Por las propiedades de este método, la convergencia o divergencia será muy rápida.
  • 5. 52 Alternativamente, se puede incorporar a la instrumentación un ciclo con un máximo de iteraciones para que las iteraciones se realicen dentro de la función. Las derivadas parciales se obtienen con la función diff y la sustitución de los valores de u en las variables se realiza con la función subs. La solución se la obtiene con la inversa de la matriz de las derivadas parciales J. function u = snewton(f, v, u) %Sistemas no lineales n=length(f); for i=1:n %Obtención de la matriz jacobiana J for j=1:n J(i,j)=diff(f(i),v(j)); end end for i=1:n %Sustitución del vector u en J for j=1:n for k=1:n if findstr(char(J(i,j)),char(v(k)))>0 J(i,j)=subs(J(i,j),v(k),u(k)); end end end end for i=1:n for j=1:n f(i)=subs(f(i),v(j),u(j)); %Sustitución del vector u en el vector f end end u=u-inv(eval(J))*eval(f); %Obtención de la nueva aproximación u Ejemplo. Use la función snewton para encontrar una raíz real del sistema f1 (x, y) = (x − 2)2 + (y − 1)2 + xy − 3 = 0 f 2 (x,= xe x + y + y − 3 0 y) = >> syms x y >> f1=(x-2)^2 + (y-1)^2+x*y-3; >> f2=x*exp(x+y)+y-3; >> f=[f1;f2]; >> v=[x;y]; >> u=[0.5; 1]; Valores iniciales tomados del gráfico >> u=snewton(f, v, u) u= 0.405451836483295 1.121807345933181 >> u=snewton(f, v, u) u= 0.409618877363502 1.116191209478472 >> u=snewton(f, v, u) u= 0.409627787030011 1.116180137991845
  • 6. 53 >> u=snewton(f, v, u) u= 0.409627787064807 1.116180137942814 >> u=snewton(f, v, u) u= 0.409627787064807 1.116180137942814 Se observa la rápida convergencia. Para verificar que son raíces reales de las ecuaciones debe evaluarse f >> subs(f1,{x,y},{u(1),u(2)}) ans = 4.440892098500626e-016 >> subs(f2,{x,y},{u(1),u(2)}) ans = 0 Los valores obtenidos son muy pequeños, por lo cual se aceptan las raíces calculadas Para calcular la otra raíz, tomamos del gráfico los valores iniciales cercanos a esta raíz. >> u=[2.4; -1.5]; >> u=snewton(f, v, u) u= 2.261842718297048 -1.535880731849205 >> u=snewton(f, v, u) u= 2.221421001369104 -1.512304705819129 >> u=snewton(f, v, u) u= 2.220410814294533 -1.511478104887419 >> u=snewton(f, v, u) u= 2.220410327256473 -1.511477608846960 >> u=snewton(f, v, u) u= 2.220410327256368 -1.511477608846834 >> u=snewton(f, v, u) u= 2.220410327256368 -1.511477608846835 >> subs(f1,{x,y},{u(1),u(2)}) (Comprobar si es una solución del sistema) ans = -8.881784197001252e-016 >> subs(f2,{x,y},{u(1),u(2)}) ans = 8.881784197001252e-016
  • 7. 54 3.5.6 Uso de funciones de MATLAB para resolver sistemas no-lineales La función solve de MATLAB se puede usar para resolver sistemas no lineales como el ejemplo anterior: >> syms x y >> f1=(x-2)^2 + (y-1)^2+x*y-3; >> f2=x*exp(x+y)+y-3; >> f=[f1;f2]; >> [x,y]=solve(f) x= 0.40962778706480689876647619089358 y= 1.116180137942813562571698234565 El método solve de MATLAB proporciona solamente una de las dos soluciones. Con esto concluimos que no siempre los programas computacionales disponibles producen todas las respuestas esperadas. 3.5.7 Obtención de la fórmula iterativa de segundo orden para calcular raíces reales de sistemas de ecuaciones no lineales Se considera el caso de dos ecuaciones y luego se generaliza a más ecuaciones Sean f1(x1, x2) = 0, f2(x1, x2) = 0 dos ecuaciones no-lineales con variables x1, x2. Sean r1, r2 valores reales tales que f1(r1, r2) = 0, f2(r1, r2) = 0, entonces (r1, r2) constituye una raíz real del sistema y es de interés calcularla. Suponer que f1, f2 son funciones diferenciables en alguna región cercana al punto (r1, r2) Con el desarrollo de la serie de Taylor expandimos f1, f2 desde el punto (x1 , x (k) ) al punto (k) 2 (x1 + 1) , x (k + 1) ) (k 2 ∂f1(k) ∂f (k) f1(k + 1) = + (x1 + 1) − x1 ) f1(k) (k (k) + (x (k + 1) − x (k) ) 1 + O(x1 + 1) − x1 )2 + O(x 2 + 1) − x 2 )2 (k (k) (k (k) ∂x 1 ∂x 2 2 2 ∂f2(k) ∂f (k) f2(k + 1) = + (x1 + 1) − x1 ) f2(k) (k (k) + (x (k + 1) − x (k) ) 2 + O(x1 + 1) − x1 )2 + O(x 2 + 1) − x 2 )2 (k (k) (k (k) ∂x 1 ∂x 2 2 2 Por simplicidad se ha usado la notación: f1(k) = f1 (x1 , x (k) ) , f1(k + 1) = f1 (x1 + 1) , x (k + 1) ) , etc. (k) 2 (k 2 En los últimos términos de ambos desarrollos se han escrito únicamente los componentes de interés, usando la notación O( ). Las siguientes suposiciones, son aceptables en una región muy cercana a (r1, r2):
  • 8. 55 (x1 , x (k) ) cercano a la raíz (r1, r2) (k) 2 Si el método converge cuadráticamente entonces (x1 + 1) , x (k + 1) ) estará muy cercano a (r1, r2) (k 2 Por lo tanto se puede aproximar: f1 (x1 + 1) , x (k + 1) ) ≈ 0 (k 2 f2 (x1 + 1) , x 2 + 1) ) ≈ 0 (k (k Por otra parte, si (x 1 , x 2 ) es cercano a (x1 + 1) , x (k + 1) ) , las diferencias serán pequeñas y al (k) (k) (k 2 elevarse al cuadrado se obtendrán valores más pequeños y se los omite. Sustituyendo en el desarrollo propuesto se obtiene como aproximación el sistema lineal: ∂f1(k) (k) ∂f (k) 0 = + (x1 + 1) − x1 ) f1(k) (k (k) + (x 2 + 1) − x 2 ) 1 (k ∂x 1 ∂x 2 ∂f2(k) (k) ∂f (k) 0 = + (x1 + 1) − x1 ) f2(k) (k (k) + (x 2 + 1) − x 2 ) 2 (k ∂x 1 ∂x 2 En notación matricial: −F(k) J(k) (X (k + 1) − X (k) ) = Siendo  ∂f1(k) ∂f1(k)     f1(k)   x1  (k)  x1 + 1)  (k ∂x 1 ∂x 2  F (k) =  (k)  , X (k) =  (k)  , X (k + 1) =  (k + 1)  , J(k) =  (k)  f2   x2   x2   ∂f ∂f2(k)   2   ∂x 1  ∂x 2   J(k) X (k + 1) J(k) X (k) − F(k) = X (k + 1) X (k) − (J(k) )−1F(k) , = | J(k) |≠ 0 Es la ecuación de recurrencia que se puede usar iterativamente con k=0, 1, 2, … partiendo de un vector inicial X (0) generando vectores de aproximación: X (1) , X (2) , X (3) , … La notación matricial y la ecuación de recurrencia se extienden directamente a sistemas de n ecuaciones no lineales f1, f2, …, fn con variables x1, x2, …, xn. La matriz de las derivadas parciales J se denomina jacobiano. La ecuación de recurrencia se reduce a la fórmula de Newton si se tiene una sola ecuación.