Metodos Numéricos Tema: Solución de ecuaciones no lineales Irene Tischer Escuela de Ingeniería y Computación Universidad del Valle, Cali Typeset by FoilTEX 1
Métodos numéricos Tema: Sistemas Lineales Contenido 1. Generalidades 2. El método de Bisección 3. El método de Newton-Raphson 4. Sistemas de ecuaciones no lineales Typeset by FoilTEX 2
Métodos numéricos Tema: Sistemas Lineales Contenido 1. Generalidades 2. El método de Bisección 3. El método de Newton-Raphson 4. Sistemas de ecuaciones no lineales Typeset by FoilTEX 3
Métodos numéricos Tema: Sistemas Lineales 1. Generalidades Motivación En muchas situaciones surge, de manera natural, el cálculo de las raíces de una ecuación no lineal en una variable, f(x) = 0 Ciertas ecuaciones no lineales pueden resolverse analíticamente: 6x 2 7x + 2 = 0 (3x 2)(2x 1) = 0 x = 2 3, 1 2 cos 3x cos 7x = 0 2 sin 5x sin 2x = 0 x = nπ 5, nπ 2, n Z Otras ecuaciones no lineales no tienen solución analítica: 2 x2 10 x + 1 = 0, cosh ( x2 + 1 e x) + log sin x = 0 Muchas veces los coecientes de las ecuaciones no lineales se conocen solo de forma aproximada, por lo que carecería de sentido un cálculo exacto. Typeset by FoilTEX 4
Métodos numéricos Tema: Sistemas Lineales 1. Generalidades Cálculo aproximado de raíces Entonces es importante el estudio de métodos numéricos para encontrar las soluciones ó raíces de una ecuación: f(x) = 0 en [a, b] que permitan aproximarlas con el grado de precisión deseado. Los métodos numéricos para buscar la ó las raíces de una ecuación no lineal f(x) = 0 están basados en técnicas iterativas: Comenzando por una solución aproximada, se utiliza un algoritmo numérico que mejora la solución hasta que se satisface un determinado criterio de convergencia. Typeset by FoilTEX 5
Métodos numéricos Tema: Sistemas Lineales 1. Generalidades Etapas del cálculo aproximado de raíces En el cálculo aproximado de raíces de una ecuación, f(x) = 0 en [a, b] podemos distinguir dos etapas principales, 1. Separación de raíces: Se establecen subintérvalos de [a, b] que contengan una y solo una raíz de la ecuación. Teorema de Bolzano: nos garantiza la existencia de raíces. Teorema de Rolle: nos acota el número de raíces que pueda haber. 2. Cálculo de las raíces: En cada uno de los intervalos se aplica un proceso iterativo que conduce a una sucesión: {x n } n=0 que tiende al valor de la raíz. Se toma como aproximación de la solución un elemento de la sucesión próximo a la raíz. Typeset by FoilTEX 6
Métodos numéricos Tema: Sistemas Lineales 1. Generalidades Teorema de Bolzano Sea f una función real, continua en el intervalo [a, b]. Si el signo de f cambia en los extremos del intervalo, es decir si f(a)f(b) < 0, entonces f tiene por lo menos una raíz en (a, b). f a raiz b Figura 1. El teorema de Bolzano Typeset by FoilTEX 7
Métodos numéricos Tema: Sistemas Lineales 1. Generalidades Teorema de Rolle Sea f una función real, continua y diferenciable en el intervalo [a, b]. Si f(a) = f(b), entonces existe u en (a, b) tal que f (u) = 0. f HuL=0 fhal fhbl Figura 2. El teorema de Rolle a u b - Typeset by FoilTEX 8
Métodos numéricos Tema: Sistemas Lineales 1. Generalidades Uso de los teoremas de Bolzano y Rolle 1. Una función real diferenciable monótona en el intervalo [a, b], que cambia de signo en los extremos, tiene exactamente una raíz. 2. Si f es continua y diferenciable en [a, b] y si f tiene n raíces, entonces f tiene a lo sumo n + 1 raíces. 3. Si la segunda derivada f de f tiene signo constante, entonces f tiene a lo sumo 2 raíces. Typeset by FoilTEX 9
Métodos numéricos Tema: Sistemas Lineales Contenido 1. Generalidades 2. El método de Bisección 3. El método de Newton-Raphson 4. Sistemas de ecuaciones no lineales Typeset by FoilTEX 10
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Objetivo Dada la función f(x) continua en [a, b] tal que f(a)f(b) < 0, el objetivo es encontrar x (a, b) tal que f(x ) = 0 y en su defecto una aproximación cuyo error absoluto sea menor que una tolerancia τ deseada. Se supone que hay una raíz y solo una en el intervalo [a, b]. Typeset by FoilTEX 11
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Procedimiento El método de bisección está basado en el teorema de Bolzano que garantiza la existencia de una raíz en [a, b] si hay cambio de signo de f. Partiendo del intervalo inicial, el método de bisección construye un sucesión de intervalos siempre más pequeños que contiene una raíz ya que se mantiene el cambio de signo (gura 3). 0 0.75 1.125 1.5 3 intervalo iteracion 1 intervalo iteracion 2 intervalo iteracion 3 Figura 3. Tres pasos de bisección para la función f(x) = x 2 2, empezando en el intervalo [0,3]. Typeset by FoilTEX 12
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Procedimiento (continuación) es la aproxi- Iniciamos con el intervalo [a, b], el punto intermedio x = a + b 2 mación inicial de la raíz. Pueden presentarse dos casos: 1. f(x) = 0, entonces se encontró una raíz exacta: x = x = a + b 2. 2. f(x) 0. entonces se elige aquel intervalo [a, x] ó [x, b], en cuyos extremos la función toma signos opuestos. De esta forma se aplica otra vez el teorema de Bolzano. Reiterando el proceso anterior ó bien obtenemos la raíz exacta ó bien una sucesión de intervalos cerrados encajados que tienden hacia el valor de la raíz. Se toma como aproximación de la raíz el punto medio del intervalo obtenido en la última iteración. Typeset by FoilTEX 13
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Análisis del error Sea L = L (0) = b a el tamaño inicial del intervalo. Después de la primera iteración, k = 1, la raíz se encuentra contenida en un intervalo cuyo tamaño es L (1) = b a = 1 2 2 L(0). Después de la k-ésima iteración, el tamaño será, L (k) = 1 2 L(k 1) = b a 2 k. Esto signica que la sucesión de intervalos construida por el método de bisección, se contrae a un solo punto, que es una raíz exacta de la función f. Typeset by FoilTEX 14
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Análisis del error (continuación) La aproximación de la raíz en la k-ésima iteración es el punto medio del intervalo x k. Por eso, el error es menor o igual que la mitad de la longitud del intervalo. ε 0 = x 0 x L 2 ; ε 1 = x 1 x L(1) 2 = L 2 2;. ε k = x k x L(k) 2 = L 2 k+1. El error converge a 0, es decir, el método de bisección converge a la raíz verdadera. La convergencia es lenta, en cada iteración el error se reduce a la mitad. Typeset by FoilTEX 15
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Tolerancia El comportamiento del error permite calcular con anticipación el número de iteraciones requeridas para obtener una aproximación con una tolerancia τ deseada. Sea τ la tolerancia deseada, es decir, se debe iterar hasta que x x τ, Después de la k-ésima iteración tenemos x x L(k) 2 = b a 2 k+1 Seleccionando k max tal que la tolerancia deseada τ. b a 2 k max+1 τ, se obtiene un error por debajo de Por eso, para el número k max tolerancia τ se debe cumplir: de iteraciones requeridas para obtener la b a k max + 1 log 2 τ o sea k max = (int) ( b a log 2 τ ) Typeset by FoilTEX 16
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Algoritmo BISECCIÓN Entrada: la función f; el intervalo [a, b]; la tolerancia τ. Salida: solución aproximada o exacta o mensaje de fracaso Paso 1: Si f(a) f(b) 0, si la función no cambia de signo, devuelva Mensaje de fracaso el método de bisección no funciona k max (int) `log b a 2 τ k max es el número de iteraciones Paso 2: para k = 1 hasta k max haga iterar hasta llegar a la tolerancia τ si f(x) = 0, devuelva x se encontró una raíz exacta si f(a) f(x) < 0, entonces b x se sigue con el intervalo, sino a x donde hay cambio de signo (n para) Paso 3: devuelva x. x es la aproximación de la raíz Typeset by FoilTEX 17
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Ejemplo Determinar la raíz de la función f denida por f(x) := x 2 2 con una tolerancia τ = 0.01, empezando con el intervalo [0, 2]. Typeset by FoilTEX 18
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Paso 1: Paso 2: Solución f(0) = 2, f(2) = 2, es decir tenemos signos opuestos. k max = (int) `log b a 2 τ = (int) (log2 200) = 7. Se necesitan 7 iteraciones Iteración it. a b x f(a) f(b) f(x) err. 0 0 2 1-2 2-1 1 1 1 2 1.5-1 2 0.25 2 1 2 1 1.5 1.25-1 0,25-0.4375 2 2 3 1.25 1.5 1.375-0.4375 0.25-0.109375 2 3 4 1.375 1.5 1.4375-0.109375 0.25 0.06640625 2 4 5 1.375 1.4375 1.40625-0.109375 0.06640625-0.0224609375 2 5 6 1.40625 1.4375 1.421875-0.0224609375 0.06640625 0.021728515625 2 6 7 1.40625 1.421875 1.4140625-0.0224609375 0.021728515625-0.00042724609375 2 7 Paso 3: Obtenemos la aproximación de la raíz x = 1,4140625 con una tolerancia τ = 0.01 (el error verdadero es 1 2 7 =0.0078125). En comparación: la solución exacta es 2 = 1,414213562... Typeset by FoilTEX 19
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Observaciones generales 1. Si la función f es continua y cambia de signo en el intervalo [a, b], el método de bisección converge a una raíz (gura 4a). 2. Si la función f es continua y no cambia de signo en el intervalo [a, b], el método de bisección no funciona. Es decir, el método no es capaz de encontrar la raíz en la situación de la gura 4b. 3. Si la función f no es continua, el método encuentra un punto de discontinuidad donde la función cambia de signo (gura 4c). Un seguimiento de los valores de f(x) muestra si se trata de una raíz o una discontinuidad. 4. Si la función f es continua y cambia de signo en el intervalo [a, b], el método encuentra una raíz de la función. Si f tiene varias raíces, se es importante separarlas para poder controlar el procesos (gura 4d). Typeset by FoilTEX 20
Métodos numéricos Tema: Sistemas Lineales 2. El método de Bisección Comportamientos del método de bisección 0 2 a) Se cumplen los supuestos, el método converge. c) El método de bisección encuentra la discontinuidad 0 2 b) La función no cambia de signo, el método de bisección no funciona. Figura 4. El método de bisección en diferentes situaciones d) Si hay varias raíces en el intervalo, el método de bisección encuentra una de ellas. Typeset by FoilTEX 21
Métodos numéricos Tema: Sistemas Lineales Contenido 1. Generalidades 2. El método de Bisección 3. El método de Newton-Raphson 4. Sistemas de ecuaciones no lineales Typeset by FoilTEX 22
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Desarrollo de la fórmula de Newton - Raphson El método de Newton-Raphson es un proceso iterativo para encontrar una aproximación a la raíz de una función. Se basa en el teorema de desarrollo de Taylor: Si f es una función de C 2 (es decir, dos veces continuamente derivable), se puede desarrollar f en un punto x para obtener su valor en la raíz x : 0 = f(x ) = f(x) + (x x)f (x) + O ( (x x) 2) Ignorando el residuo se obtiene 0 = f(x ) f(x) + (x x)f (x) Resolviendo la ecuación obtenemos x x f(x) f (x) Typeset by FoilTEX 23
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Aplicación iterativa de la fórmula de Newton - Raphson Método de Newton - Raphson: Se comienza tomando un valor inicial x 0 sucientemente cerca de la raíz x. de prueba que se supone está Se itera usando la fórmula x k+1 = x k f(x k) f (x k ). Typeset by FoilTEX 24
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Interpretación gráca La primera iteración consiste en tomar como aproximación el punto x 1 de corte de la recta tangente a la gráca de la función f(x) en el punto x 1. La ecuación de esta recta es y = f(x 0 ) + (x x 0 )f (x 0 ). Por tanto la intersección de la recta con el eje de abscisas es x 1 = x 0 f(x 0) f (x 0 ). Reiterando este proceso sucesivamente se obtiene la sucesión de valores x k. 12.5 10 7.5 5 2.5 0 x1=1.8333 x0=3 Figura 5. El método de Newton-Raphson -2.5 fhxl para la función-5f(x) = x 2 ghxl 2, usando el punto inicial x 0 = 3. Typeset by FoilTEX 25
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Condiciones de parada para el método de Newton Se usan 3 diferentes condiciones de parada: 1. En términos del error aproximativo relativo: x k+1 x k x k+1 la tolerancia deseada. τ x, donde τ x es 2. En términos del valor de la función en la aproximación: f(x k ) τ f, donde τ f signica la desviación máxima de 0. 3. En términos del número de iteraciones: esta condición que garantiza que el algoritmo para, aun que no converge. En resumen, para actuar con cautela el consejo es parar las iteraciones cuando los dos tests se cumplen o cuando se han realizado el número de iteraciones. Typeset by FoilTEX 26
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Algoritmo NEWTON - RAPHSON Entrada: la función f y su derivada f ; las tolerancia τ x, τ f ; Salida el número máximo de iteraciones k max ; una aproximación inicial x 0 de la raíz. solución aproximada; condición de parada activa Paso 1 k 1; x 1 x 0 f(x 0) f (x 0 ) inicialización; se manejan las variables x 1 : aproximación actual x 0 : aproximación anterior Paso 2 mientras si no se cumple la «x1 x 0 > τ x f(x 1 ) > τ f condición de parada x 1 Paso 3 k < k max x 0 x 1 ; x 1 x 0 f(x 0) f (x 0 ) ; k k + 1; (n mientras) «x1 x 0 si τ x f(x 1 ) τ f x 1 devuelva parada por tolerancia si no devuelva parada por número de iteraciones determinar nueva aproximación mensaje de acuerdo a la condición de parada devuelva x 1. x 1 es aproximación de la raíz Typeset by FoilTEX 27
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Ejemplo Aplicar el método de Newton - Raphson a la función f(x) = x 2 2, iniciando en el punto x 0 = 1, usando las tolerancias τ x = 10 5, τ f = 10 5 y un número máximo de 50 iteraciones. Solución it. x 0 f(x 0 ) f (x 0 ) x 1 = x 0 f(x 0 ) f (x 0 ) x 1 x 0 x 1 1 1-1 2 1.5 0.33333333 2 1.5 0.25 3 1.41666667 0.29411765 3 1.41666667 0.00694445 2.83333334 1.41421569 0.00173310 4 1.41421569 0.00000602 2.82843138 1.41421356 0.00000151 Después de 4 iteraciones se alcanza una aproximación con las tolerancias deseadas. La aproximación de la raíz ya coincide en los 8 primeros decimales con el valor verdadero. Typeset by FoilTEX 28
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Análisis del error y convergencia Deniendo el error en la k-ésima iteración como ɛ k := x k x y suponiendo que f C 2 con f (r) 0 se tiene por el desarrollo de Taylor 0 = f(x ) = f(x k ɛ k ) = f(x k ) ɛ k f (x k ) + 1 2 ɛ2 kf (ξ k ) con ξ k entre x k y x ; es decir ɛ k f (x k ) f(x k ) = 1 2 ɛ2 kf (ξ k ) De ahí se obtiene para el error de la iteración k + 1: ɛ k+1 = x k+1 r = x k f(x k) f (x k ) x = ɛ k f(x k) f (x k ) = ɛ kf (x k ) f(x k ) f (x k ) es decir: ɛ k+1 = ɛ2 k f (ξ k ) 2f (x k ) ɛ2 k f (r) 2f (x ) = Cɛ2 k. Esto signica que el error en la iteración k + 1 es proporcional al cuadrado de error en la iteración k. Por eso se habla de convergencia cuadrática. Este hecho permite derivar el siguiente teorema: = ɛ2 k f (ξ k 2f (x k ) Typeset by FoilTEX 29
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Teorema (convergencia en una vecindad de la raíz) Sea f C 2 y x una raíz simple de f (es decir, f (x ) 0). Entonces el método de Newton-Raphson converge para todos los puntos en una vecindad de la raíz. El teorema es de poca aplicabilidad práctica, porque garantiza convergencia en una vecindad, pero no la especica. La gura 6 muestra una situación, donde el método de Newton no converge, ya que se selecciona el punto inicial x 0 NO sucientemente cercano a la raíz. El siguiente teorema garantiza la convergencia si se cumplen ciertas hipótesis sobre la función f. fhxl g2hxl g1hxl Figura 6. El método de Newton-Raphson diverge, ya que el punto inicial x 0 x0 x1 x2 no se encuentra sucientemente cercano a la raíz. Typeset by FoilTEX 30
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Supuestos La convergencia del método de Newton se asegura mediante los siguientes supuestos sobre la función f : [a, b] R. f C 2 [a, b], es decir las funciones derivadas de f hasta el orden 2 son continuas. f(a)f(b) < 0. f tiene signo constante en [a, b]. f tiene signo constante en [a, b]. Teorema (Convergencia del método de Newton-Raphson) Si la función f : [a, b] R verica los supuestos anteriores y tomamos x 0 el extremo del intervalo [a, b] tal que, signof(x 0 ) = signof entonces el método de Newton converge al menos cuadráticamente a la única raíz de f(x) en [a, b]. Typeset by FoilTEX 31
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Ventajas y desventajas del método de Newton-Raphson Resumiendo se puede decir: Si el método de Newton converge, la convergencia es generalmente rápido (cuadrático). Pero se puede obtener divergencia, si el punto inicial no está seleccionado apropiadamente. Typeset by FoilTEX 32
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson El método de la secante Si no se dispone de la derivada de la función f, o si la derivada es difícil de evaluar, se puede utilizar una aproximación numérica de la derivada: f (x k ) f(x k) f(x k 1 ) x k x k 1 Remplazando la derivada en la fórmula de Newton-Raphson por esta aproximación, se obtiene el método de la secante: x k x k 1 x k+1 = x k f(x k ) f(x k ) f(x k 1 ). Obviamente se requiere denir dos puntos iniciales x 0 y x 1. Typeset by FoilTEX 33
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Interpretación gráca La interpretación gráca de este método ilustra la gura 7. Dadas las aproximaciones x k y x k 1 de la raíz, obtenidas en los dos últimas iteraciones se construye la recta que coincide con f en estos puntos. La nueva aproximación es la raíz de esta recta. f x0=0 x2 x3 x4 x1=3 Figura 7. El método de la secante para la función f(x) = x 2 2. Los puntos iniciales son x 0 = 0 y x 1 = 3. Typeset by FoilTEX 34
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Ejemplo Aplicar el método de la secante a la función f(x) = x 2 2, iniciando con x 0 = 0 y x 1 = 3. Solución x 1 x 0 x 2 = x 1 f(x 1 ) f(x 1 ) f(x) = 3 f(3) 3 0 f(3) f(0) = 3 7 3 x 2 x 1 x 3 = x 2 f(x 2 ) f(x 2 ) f(x 1 ) = 2 f(2 3 ) f( 2 3 2 3 3 ) f(03) = 1,0909. La sucesión (x k ) de aproximaciones de la raíz que se obtiene es: 0, 3, 0.6667, 1.0909, 1.5517, 1.3974, 1.1434, 1.4142... 7 ( 2)) = 2 3 Se observa, que el método de la secante se comporta muy parecido al método de Newton-Raphson: converge muy rápido. Typeset by FoilTEX 35
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson La situación con raíces múltiples La situación con raíces múltiples requiere atención especial. Si la función f tiene una raíz x con multiplicidad par, f no cambia el signo en un entorno de x, es decir, el método de bisección no es aplicable (ver gura 4b). Si x tiene multiplicidad m > 1,no se cumplen los supuestos del teorema de convergencia en una vecindad. No se puede garantizar convergencia cuadrática en una vecindad de la raíz, generalmente, el método de Newton-Raphson se vuelven lento. Esto se debe al hecho, que la derivada f de f también tiene una raíz en x, es decir se aproxima la raíz, usando rectas con pendientes siempre más pequeños. Por la misma razón, el método de la secantes es lento para m > 1: las pendientes de las secantes que usa el método, convergen a 0. Typeset by FoilTEX 36
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Ejemplo La función f(x) := (x 1) 3 (x 3) tiene raíz triple en x = 1. Aplicar el método de Newton-Raphson iniciando en el punto x 0 = 0. Solución Aplicando el método de Newton-Raphson se obtiene las siguientes aproximaciones de la raíz: 0, 0.3, 0.5148, 0.6666, 0.7727, 0.8460, 0.8961, 0.9302, 0.9532, 0.9687, 0.9791, 0.9860, 0.9907, 0.9938, 0.9958, 0.9972, 0.9982, 0.9988, 0.9992, 0.9995, 0.9996,... Se observa que la convergencia es muy lenta. Typeset by FoilTEX 37
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Modicaciones del método de Newton-Raphson para la búsqueda de raíces múltiples Variante 1. Si se conoce la multiplicidad m de la raíz se puede aplicar la fórmula modicada: x k+1 = x k m f(x k) f (x k ). Typeset by FoilTEX 38
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Modicaciones del método de Newton-Raphson para la búsqueda de raíces múltiples (continuación) Variante 2. Observando que la función u(x) := f(x) tiene las mismas raíces que f, f (x) se aplica el método de Newton-Raphson a u para obtener las raíces de f. Aplicando la regla del cociente se obtiene: u (x) = d dx «f(x) f (x) = f (x)f (x) f(x)f (x) (f (x)) 2 u(x) u (x) = f(x)f (x) (f (x)) 2 f(x)f (x) y se obtiene la fórmula modicada x k+1 = x k f(x)f (x) (f (x)) 2 f(x)f (x). Typeset by FoilTEX 39
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Ejemplo Aplicar los métodos modicados para raíces múltiples a la función f(x) := (x 1) 3 (x 3) iniciando en el punto x 0 = 0. Typeset by FoilTEX 40
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Las derivadas de f son: f (x) := 2(x 1) 2 (2x 5) f (x) := 12(2 3x + x 2 ) Solución Typeset by FoilTEX 41
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Solución: Variante 1 La raíz x = 1 tiene multiplicidad m = 3, por eso se aplica la fórmula x k+1 = x k 3 f(x k) f (x k ) = x k 3 (x k 1) 3 (x k 3) 2(x 1) 2 (2x 5). Iniciando en x 0 = 0 se obtiene x 1 = x 0 3 f(x 0) f (x 0 ) = 0 3 (0 1)3 (0 3) 2(0 1) 2 (2 0 5) = 9 10 = 0,9. x 2 = x 1 3 f(x 1) f (x 1 ) = 0,9 3 (0,9 1)3 (0,9 3) 2(0,9 1) 2 (2 0,9 5) = 0,9984 x 3 = x 2 3 f(x 2) f (x 2 ) = 0,9984 3 (0,9984 1)3 (0,9984 3) 2(0,9984 1) 2 (2 0,984 5) = 1. Se observa que el método modicado converge muy rápido a la raíz múltiple. Typeset by FoilTEX 42
Métodos numéricos Tema: Sistemas Lineales 3. El método de Newton-Raphson Solución: Variante 2 Iniciando en x 0 y aplicando la fórmula modicada f(x)f (x) x k+1 = x k (f (x)) 2 f(x)f (x) se obtiene f(x 0 )f (x 0 ) x 1 = x 0 (f (x 0 )) 2 f(x 0 )f (x 0 ) = (x 0 1) 3 (x 0 3)(x 0 1) 2 (2x 0 5) = x 0 ((x 0 1) 2 (2x 0 5)) 2 (x 0 1) 3 (x 0 3)12(2 3x 0 + x 2 ) = 1,0714 y de manera análoga: x 2 = 1,0009; x 3 = 1. Otra vez se verica la convergencia rápida del método. Typeset by FoilTEX 43
Métodos numéricos Tema: Sistemas Lineales Contenido 1. Generalidades 2. El método de Bisección 3. El método de Newton-Raphson 4. Sistemas de ecuaciones no lineales Typeset by FoilTEX 44
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales El problema multidimensional Generalizando el caso undimensional, se busca la solución de un sistema de n ecuaciones en n variables: f 1 (x 1, x 2,..., x n ) = 0 f 2 (x 1, x 2,..., x n ) = 0. f n (x 1, x 2,..., x n ) = 0 En forma compacta se puede escribir el sistema como F [X] = 0 donde X = [x 1, x 2,..., x n ]; 0 es el vector de n componentes iguales a 0 y f 1 (X) F la función de R n R n denida por F (X) = f 2 (X).. f n (X) Typeset by FoilTEX 45
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales El problema multidimensional (continuación) Se debe encontrar la intersección de los conjuntos de las raíces de cada ecuación, un problema difícil en el caso no lineal ya que las ecuaciones no son relacionadas entre sí (gura 8). Generalmente ni siquiera se sabe, cuantas soluciones tiene el sistema. Si las funciones f 1,f 2,..., f n son lineales, el problema es más sencillo: se busca la solución del sistema lineal a 11 x 1 + a 12 x +... + a 1n x n b 1 = 0 a 21 x 1 + a 21 x +... + a 2n x n b 2 = 0. a n1 x 1 + a n2 x 2 +..., +a nn x b n = 0 problema que se resuelve con los métodos estándares de algebra matricial. Typeset by FoilTEX 46
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Enfoque: Linealización del problema Dado que el problema de resolver sistemas de ecuaciones lineales es más fácil, los métodos númericos para sistemas no lineales se basan en la linealización del problema: Se aproxima el sistema no lineal por uno lineal, que se resuelve más facilmente. La solución del sistema lineal es una aproximación del sistema no lineal. 1 La linealización hace uso de la generalización del teorema de Taylor para el caso multidimensional. Como en el cso de una dimension, el desarrollo de Taylor de orden 1 aproxima la función por una función lineal. 1 en lo que sigue se discute el caso dos dimensional, la generalización a más dimensiones es obvia. Typeset by FoilTEX 47
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Resolver el sistema: c (x 1 2) 2 + (x 2 2) 2 = 0 x 1 x 2 + 1 sen(x 1 x 2 ) + c = 0 Las funciones correspondientes son: Ejemplo f 1 (x 1, x 2 ) = c (x 1 2) 2 + (x 2 2) 2 f 2 (x 1, x 2 ) = x 1 x 2 + 1 sen(x 1 x 2 ) + c (c es un número real) y el sistema correspondiente se escribe como [ ] [ f1 (X) c (x1 2) 2 + (x 2 2) 2 f 1 (X) F (X) = = x 1 f 2 (X) x 2 + 1 sen(x 1 x 2 ) + c ] = 0 Typeset by FoilTEX 48
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Ejemplo (continuación) En la gura siguiente (gura 8) se hace evidente la dicultad de un procedimiento analítico para la solución del problema. Se muestran las 2 funciones y sus lineas de nivel. Las soluciones del sistema corresponden a las intersecciones de las lineas de nivel 0 de llas dos funciones. Se observa como se varian las soluciones para diferentes valores del parámetro c. No existe relación geométrica que se puede aprovecha en un algoritmo que localiza las raíces. Typeset by FoilTEX 49
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales f 1 (x 1, x 2 ) = c (x 1 2) 2 + (x 2 2) 2 4 3 4 2 0-2 -4 0 1 2 3 1 2 3 4 0 0 1 2 3 4 4 a) La gráca tridimensional 0 de f 1 b) Las líneas de nivel de la función f 1 2 1 f 2 (x 1, x 2 ) = x 1 x 2 + 1 sen(x 1 x 2 ) + c 4 3 3 2 1 0-1 0 1 2 1 0 3 0 1 2 3 4 4 0 2 3 4 c) La gráca tridimensional de f 2. d) Las líneas de nivel de la función f 2. Figura 8. 2 1 Typeset by FoilTEX 50
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Teorema (desarrollo de Taylor) Si F : R n R n es dos veces continuamente diferenciable, X R n, entonces: F (X 0 + H) = F (X 0 ) + F X0 H + R 1 donde para el residuo R 1 se tiene: R 1 = O( H 2 ). [ ] h1 Aquí H = es el paso: h h 1 para la variable x 1 y h 2 para x 2. ; = [ ] 2, es el gradiente. x 1 x 2 f 1 f 1 [ ] f1 x 1 x 2 Dado que F =, se obtiene F = la matriz jacobiana f 2 f 2 f 2 x 1 x 2 de F. Typeset by FoilTEX 51
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Desarrollo del método de Newton-Raphson para sistemas de ecuaciones El método de Newton se puede generalizar al caso de sistemas de ecuaciones no lineales, basado en el teorema de Taylor para el caso multidimensional: Sea X = X 0 + H una raíz de F, entonces F (X ) = F (X 0 + H) = 0, y con el teorema de Taylor se obtiene: 0 = F (X) F (X0 ) + J X0 H Observese que la ecuación anterior es un sistema lineal de ecuaciones para determinar el vector desconicido H,es decir, linealizamos el problema original. Si la jacobiana J X0 no es singular, se puede resolver este sisterma, multiplicando la anterior ecuación con su inversa (J X0 ) 1, y se obtiene: 0 (J X0 ) 1 F (X 0 ) + H H (J X0 ) 1 F (X 0 ). y la nueva aproximación de la raíz X es X 1 = X 0 + H. Typeset by FoilTEX 52
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Método de Newton-Raphson en varias dimensiones Inicia con una aproximación de la raíz X 0 En cada iteración: X k+1 = X k + H. donde H = ( J Xk ) 1 F (Xk ) Typeset by FoilTEX 53
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Ejemplo Aplicar el método de Newton-Raphson para resolver el sistema x 1 + 4x 2 2 + 4x 2 = 1 x 2 1 + 2x 2 2 + x 1 x 2 = 0 iniciando en el punto X 0 = [ 0,5 0,5 ]. Typeset by FoilTEX 54
F (X) = Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales f 1(x 1, x 2 ) f 2 (x 1, x 2 ) = Solución x 1 + 4x 2 2 + 4x 2 + 1 x 2 1 + 2x 2 2 + x 1 x 2 Las derivadas parciales de f 1 y f 2 respecto a x 1 y x 2 son:. f 1 (x 1, x 2 ) = 1; x 1 f 2 (x 1, x 2 ) = 2x 1 + 1; x 1 la matriz jacobiana por ende es: J X = f 1 (x 1, x 2 ) = 8x 2 + 4 x 2 f 2 (x 1, x 2 ) = 4x 2 1 x 2 1 8x 2 + 4 2x 1 + 1 4x 2 1 Typeset by FoilTEX 55
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Empezando en X 0 =» 0,5 0,5 Solución (continuación) obtenemos: Primera iteración: F (X 0 ) =» 3,5 0,25 H = `J Xk 1 F =» 5,5 0,25» 1 8 ; J X0 = `J» Xk 1 1 8 = 0 1 0 1» 6 = X 1 = X 0 + H = 0,75 ;. Segunda iteración:»» 0,25 1 10 F (X 1 ) = ; J 30,375 X1 = 11 2» 0,01780571 0,0892857 J 1 X = 1 0,0982143 0,00892857» 2,70759 H = X 0,295759 2 = X 1 + H =» 3,29241 0,454241. Typeset by FoilTEX 56
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Solución (continuación) De manera análoga se procede en las iteraciones siguientes, obteniendo [ ] [ ] [ 1,98026 1,36419 1,09826 X 3 = ; X 0,236523 4 = ; X 0,0997861 5 = 0,0287798 [ ] [ ] [ 1,01216 1,00024 1 X 6 = ; X 0,00365759 7 = ; X 0,0000730198 8 = 0 ], ] ; lo que es una solución exacta del sistema. Typeset by FoilTEX 57
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Condiciones de parada Las condiciones de parada equivalen a aquellas desarrolladas para el caso de una dimensión, reemplazando el valor absoluto por una norma vectorial: 1. En términos del error aproximativo relativo: X k+1 X k X k+1 la tolerancia deseada. < τ x, donde τ x es 2. En términos del valor de la función en la aproximación: f(x k ) < τ f, donde τ f signica la desviación máxima de 0. 3. El número de iteraciones. Typeset by FoilTEX 58
Métodos numéricos Tema: Sistemas Lineales 4. Sistemas de ecuaciones no lineales Algoritmo de NEWTON para sistemas de ecuaciones Entrada: la función multidimensional F ; la matriz jacobiana de F ; las tolerancias τ x, τ f ; el número máximo de iteraciones k max. una aproximación inicial X 0 de la raíz. Salida: solución aproximada; condición de parada activa Paso 1 Paso 2 Paso 3 k 1; H = J 1 X F (X 0 ); 0 X 1 X 0 + H; «X1 X 0 mientras > τ x F (X 1 ) > τ f ( k < k max ) X 1 X 0 X 1 ; H J 1 X 0 F (X 0 ); X 1 X 0 + H; k k + 1 «X1 X 0 si τ x y F (X 1 ) τ f devuelva parada por tolerancia X 1 si no devuelva parada por número de iteraciones devuelva X 1. Typeset by FoilTEX 59