Ceros de funciones Laboratori de Càlcul Numèric (LaCàN) Departament de Matemàtica Aplicada III Universitat Politècnica de Catalunya (Spain) http://www-lacan.upc.es Índice Objetivos Esquemas iterativos Criterios de parada Método clásicos (bisección, Newton, secante) Consistencia y convergencia Velocidad de convergencia Análisis de convergencia Métodos híbridos CEROS DE FUNCIONES 2 1
Objetivos Aprender a resolver ecuaciones con f una función real de variable real no lineal. Entender cómo funciona un algoritmo iterativo Saber utilizar algunos métodos clásicos (bisección, Newton, secante) y conocer sus características principales. Ser capaz de analizar la características de un esquema iterativo para resolver ceros de funciones (convergencia y consistencia). CEROS DE FUNCIONES 3 Esquemas iterativos Objetivo: calcular α solución de una ecuación no lineal f(x) = 0 Esquema iterativo: Dada una aproximación inicial x 0, se calculan los términos de una sucesión x 0, x 1, x 2, x 3... Hasta obtener un valor x k suficientemente bueno (similar a α). Cómo se escoge la aproximación inicial x 0? usuario, búsqueda automática Cómo se construyen los términos de la sucesión? método iterativo Cuándo se para el proceso iterativo? criterios de convergencia CEROS DE FUNCIONES 4 2
Criterios de convergencia Una sucesión {x k } converge a α si Dividiendo por α: Diremos que una aproximación x k es suficientemente buena si CEROS DE FUNCIONES 5 En la práctica, supondremos que utilizaremos como criterio de convergencia y Para tener en cuenta el caso α=0 se utiliza el siguiente criterio ampliado: En algunos casos se puede verificar este criterio aun estando lejos de la solución del problema. Para evitarlo, basta tener en cuenta que si {x k } converge a α entonces Por esto, es conveniente utilizar un criterio complementario CEROS DE FUNCIONES 6 3
Método de la bisección Idea: Utilizando el teorema de Bolzano, determinar un intervalo (tan pequeño como se quiera) que contenga la solución CEROS DE FUNCIONES 7 Inicialización 1. Contador de iteraciones k = 0 Algoritmo del método de la bisección 2. Aproximaciones iniciales x 0, a tales que f(x 0 )f(a) < 0 Iteración k 3. Calcular el punto medio del intervalo x k+1 = (x k +a)/2 4. Evaluar la función en la nueva aproximación 5. Si x k+1 es suficientemente buena Parar Si no Actualización Actualización 6. Si f(x k+1 )f(x k ) < 0 a = x k 7. k = k+1 8. Volver a 3 CEROS DE FUNCIONES 8 4
Propiedades del método de la bisección Requisitos f continua aproximaciones iniciales x 0 y a tales que f(x 0 )f(a) < 0 Características convergencia lineal robusto (si se verifican los requisitos, podemos asegurar que el algoritmo converge) Problemas lentitud no se tienen en cuenta las características de la función f CEROS DE FUNCIONES 9 Idea: Método de Newton Aproximar la función por la recta tangente (Taylor de primer orden) e imponer que la siguiente aproximación sea solución de la ecuación Escribiremos y entonces Imponiendo que x k+1 sea solución se obtiene CEROS DE FUNCIONES 10 5
Interpretación gráfica del método de Newton CEROS DE FUNCIONES 11 Algoritmo del método de la Newton Inicialización 1. Contador de iteraciones k = 0 2. Aproximaciones iniciales x 0 Iteración k 3. Evaluar la función f en el punto x k 4. Evaluar la derivada de la función f en el punto x k 5. x k+1 = x k - f(x k ) / f (x k ) 6. Si x k+1 es suficientemente buena Parar Si no k = k+1 Volver a 3 CEROS DE FUNCIONES 12 6
Propiedades del método de Newton Requisitos f tiene que ser derivable la derivada de f tienen que ser siempre diferente de cero Características convergencia cuadrática (si la aproximación inicial es suficientemente buena y la derivada está bien calculada) método caro: en cada iteración se evalúa la función y su derivada Problemas coste por iteración elevado es necesario calcular la derivada de la función CEROS DE FUNCIONES 13 Método de la secante Idea: Utilizar el esquema del método de Newton aproximando la derivada de la función por la pendiente de la recta que pasa por las dos aproximaciones anteriores En cada iteración, se calcula la aproximación como El incremento es donde s k es la pendiente de la recta que pasa per x k y x k-1 CEROS DE FUNCIONES 14 7
Interpretación gráfica del método de la secante CEROS DE FUNCIONES 15 Algoritmo del método de la secante Inicialización 1. Contador de iteraciones k = 0 2. Aproximaciones iniciales x 0, x 1 Iteración k 3. Evaluar la función f en el punto x k 4. Calcular la aproximación de la derivada 5. x k+1 = x k - f(x k ) / s k 6. Si x k+1 es suficientemente buena Parar Si no k = k+1 Volver a 3 CEROS DE FUNCIONES 16 8
Métodos iterativos para resolver F(z) = 0 Controles de convergencia: y CEROS DE FUNCIONES 17 CEROS DE FUNCIONES 18 9
Esquema iterativo: Consistencia y convergencia función de iteración. Ejemplo: para el método de Newton, la función de iteración es 1.Consistencia: se dice que el esquema es consistente si y sólo si α es un punto fijo de φ: 2.Convergencia: CEROS DE FUNCIONES 19 Convergencia lineal (orden 1) Convergencia Convergencia de orden p>1 (convergencia cuadrática para p=2) Convergencia superlineal CEROS DE FUNCIONES 20 10
Esquema iterativo con convergencia lineal Velocidad de convergencia para esquemas lineales Iteración k-ésima con 0 Pregunta: cuántas iteraciones ν más hay que hacer para conseguir m cifras correctas más? ν tal que? CEROS DE FUNCIONES 21 Por lo tanto, basta con donde velocidad de convergencia CEROS DE FUNCIONES 22 11
Análisis de la convergencia Objetivo: estudiar la convergencia y el orden de convergencia de un esquema iterativo consistente para el cálculo de una raíz Si Asintóticamente (cerca de la raíz) CEROS DE FUNCIONES 23 Si con convergencia lineal Si no convergente CEROS DE FUNCIONES 24 12
Si Si y convergencia de orden p CEROS DE FUNCIONES 25 Ejemplo convergencia del método de Newton Conv. lineal Conv. cuadrática La convergencia es cuadrática cerca de la raíz CEROS DE FUNCIONES 26 13
Veámoslo con otro ejemplo: CEROS DE FUNCIONES 27 Aproximación inicial: 4 CEROS DE FUNCIONES 28 14
Análisis de la convergencia (1) CEROS DE FUNCIONES 29 Análisis de la convergencia (2) Factor asintótico de convergencia CEROS DE FUNCIONES 30 15
Idea: combinar: Métodos híbridos La robustez del método de la bisección para acercarse a la raíz La velocidad de los métodos de Newton o secante (o similares) cerca de la raíz 1. Método híbrido bisección-secante: Si el paso con método de la secante es muy grande, se recurre a la bisección CEROS DE FUNCIONES 31 2. Método de Brent (función fzero de Matlab) Combinación de: Bisección Interpolación cuadrática inversa: Tres puntos [a,f(a)], [b,f(b)], [c,f(c)] Ajuste de función cuadrática inversa (x función cuadrática de y) se toma su valor en y=0 como siguiente x Ref.: Numerical recipes CEROS DE FUNCIONES 32 16
CEROS DE FUNCIONES 33 Referencias Huerta, A.; Sarrate, J.; Rodríguez-Ferran, A., Métodos Numéricos. Introducción básica. Aplicaciones y programación, Aula Politécnica 53, Edicions UPC, 2001 (tercera edición) Hoffman, J.D., Numerical methods for engineers and scientists, McGraw-Hill, 1992 Ralston, A.; Rabinowitz, P., A first course in numerical analysis, 2nd edition,mcgraw-hill, 1978 Isaacson, E.; Keller, H.B., Analysis of numerical methods, Wiley, 1966 Stoer, J.; Bulirsch, R., Introduction to numerical analysis, Springer-Verlag, 1980 CEROS DE FUNCIONES 34 17