Métodos Numéricos. Grado en Ingeniería Informática. Tema 2. Cálculo de ceros de una función Luis Alvarez León Univ. de Las Palmas de G.C. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 1 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 2 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 3 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 aportación anual 600 valor a los 30 años 600 × ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 aportación anual 600 600 × ? valor a los 30 años 600 × (1 + i)30 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 aportación anual 600 600 × 1,1 valor a los 30 años 600 × (1 + i)30 600 × ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 aportación anual 600 600 × 1,1 600 × ? valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 aportación anual 600 600 × 1,1 600 × 1,12 valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 600 × ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 año . año 30 aportación anual 600 600 × 1,1 600 × 1,12 .......... 600 × ? valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 600 × 1,12 × (1 + i)28 ............. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 año . año 30 aportación anual 600 600 × 1,1 600 × 1,12 .......... 600 × 1,129 valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 600 × 1,12 × (1 + i)28 ............. 600 × ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 año . año 30 TOTAL aportación anual 600 600 × 1,1 600 × 1,12 .......... 600 × 1,129 .......... valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 600 × 1,12 × (1 + i)28 ............. 600 × 1,129 × (1 + i) 156263 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 año . año 30 TOTAL aportación anual 600 600 × 1,1 600 × 1,12 .......... 600 × 1,129 .......... valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 600 × 1,12 × (1 + i)28 ............. 600 × 1,129 × (1 + i) 156263 La ecuación que debemos resolver para obtener el interés i es 29 X (600) (1,1)n (1. + i)30−n = 156263 ULPGCLogo n=0 Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Cálculo de los ceros de una función. Ejemplo Una persona aporta a un plan de pensiones durante 30 años una cuota anual de 600 euros que se va incrementado en un 10 % cada año. Al final de los 30 años le dan 156.263 euros. ¿Que interés i nos está dando el banco por el dinero depositado? año año 1 año 2 año 3 año . año 30 TOTAL aportación anual 600 600 × 1,1 600 × 1,12 .......... 600 × 1,129 .......... valor a los 30 años 600 × (1 + i)30 600 × 1,1 × (1 + i)29 600 × 1,12 × (1 + i)28 ............. 600 × 1,129 × (1 + i) 156263 La ecuación que debemos resolver para obtener el interés i es 29 X (600) (1,1)n (1. + i)30−n − 156263 = 0 ULPGCLogo n=0 Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 4 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 5 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 6 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 7 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 8 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 9 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 10 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 11 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 12 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 13 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección Se parte de una función f (x) y de un intervalo [a, b] donde la función cambia de signo ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección Se parte de una función f (x) y de un intervalo [a, b] donde la función cambia de signo Se calcula el punto medio x = a+b 2 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección Se parte de una función f (x) y de un intervalo [a, b] donde la función cambia de signo Se calcula el punto medio x = a+b 2 Si f (a)f (x) < 0 hacemos b = x, en caso contrario hacemos a = x ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección Se parte de una función f (x) y de un intervalo [a, b] donde la función cambia de signo Se calcula el punto medio x = a+b 2 Si f (a)f (x) < 0 hacemos b = x, en caso contrario hacemos a = x Hacemos iteraciones de este procedimiento hasta que f (x) = 0 o |b − a| ≤ (|b| + )TOL ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección Se parte de una función f (x) y de un intervalo [a, b] donde la función cambia de signo Se calcula el punto medio x = a+b 2 Si f (a)f (x) < 0 hacemos b = x, en caso contrario hacemos a = x Hacemos iteraciones de este procedimiento hasta que f (x) = 0 o |b − a| ≤ (|b| + )TOL ¿Puede el algoritmo entrar en un bucle infinito de iteraciones? ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Cálculo de los ceros de una función Método de la bisección. Objetivo: Confinar en un intervalo cada vez más pequeño un cero de la función Descripción del algoritmo del método de la bisección Se parte de una función f (x) y de un intervalo [a, b] donde la función cambia de signo Se calcula el punto medio x = a+b 2 Si f (a)f (x) < 0 hacemos b = x, en caso contrario hacemos a = x Hacemos iteraciones de este procedimiento hasta que f (x) = 0 o |b − a| ≤ (|b| + )TOL ¿Puede el algoritmo entrar en un bucle infinito de iteraciones? No ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 14 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 15 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 16 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 17 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 18 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 19 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 20 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 21 / 67 Cálculo de los ceros de una función Método de la Regula Falsi ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 22 / 67 Cálculo de los ceros de una función Método de la Regula Falsi En el método de la Regula Falsi el punto x para dividir el intervalo [a, b] es el punto donde se anula la recta que pasa por los puntos (a,f(a)) y (b,f(b)). ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 67 Cálculo de los ceros de una función Método de la Regula Falsi En el método de la Regula Falsi el punto x para dividir el intervalo [a, b] es el punto donde se anula la recta que pasa por los puntos (a,f(a)) y (b,f(b)). La ecuación de dicha recta viene dada por la expresión : ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 67 Cálculo de los ceros de una función Método de la Regula Falsi En el método de la Regula Falsi el punto x para dividir el intervalo [a, b] es el punto donde se anula la recta que pasa por los puntos (a,f(a)) y (b,f(b)). La ecuación de dicha recta viene dada por la expresión : x −a y − f (a) = f (b) − f (a) b−a ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 67 Cálculo de los ceros de una función Método de la Regula Falsi En el método de la Regula Falsi el punto x para dividir el intervalo [a, b] es el punto donde se anula la recta que pasa por los puntos (a,f(a)) y (b,f(b)). La ecuación de dicha recta viene dada por la expresión : x −a y − f (a) = f (b) − f (a) b−a Por tanto, el punto x que se utiliza para dividir el intervalo es : ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 67 Cálculo de los ceros de una función Método de la Regula Falsi En el método de la Regula Falsi el punto x para dividir el intervalo [a, b] es el punto donde se anula la recta que pasa por los puntos (a,f(a)) y (b,f(b)). La ecuación de dicha recta viene dada por la expresión : x −a y − f (a) = f (b) − f (a) b−a Por tanto, el punto x que se utiliza para dividir el intervalo es : x =a− b−a f (a) f (b) − f (a) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 23 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 24 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 25 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 26 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 27 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 28 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 29 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 30 / 67 Cálculo de los ceros de una función Método de Newton-Raphson ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 31 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 ) 2! (x − x0 )2 + .. + ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 ) 2! (x − x0 )2 + .. + f n) (x0 ) n! (x − x0 )n + . ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) La ecuación anterior es la recta tangente en x0 , si la igualamos a cero y despejamos obtenemos : ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) La ecuación anterior es la recta tangente en x0 , si la igualamos a cero y despejamos obtenemos : x1 = x0 − f (x0 ) f 0 (x0 ) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson En el método de Newton-Raphson, a partir de una aproximación inicial x0 del cero de la función, se va actualizando dicho punto a través del cero de la recta tangente en x0 . Para calcular la recta tangente utilizaremos el desarrollo de Taylor de una función que es : f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) La ecuación anterior es la recta tangente en x0 , si la igualamos a cero y despejamos obtenemos : x1 = x0 − f (x0 ) f 0 (x0 ) En general, partir de x0 obtenemos una secuencia xn de valores que van aproximando la raíz, definidos por n) xn+1 = xn − ff0(x (xn ) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 32 / 67 Cálculo de los ceros de una función Método de Newton-Raphson. Criterios de convergencia En el método de Newton-Raphson el criterio de convergencia habitual es : |xn+1 − xn | ≤ (|xn+1 | + )TOL ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 67 Cálculo de los ceros de una función Método de Newton-Raphson. Criterios de convergencia En el método de Newton-Raphson el criterio de convergencia habitual es : |xn+1 − xn | ≤ (|xn+1 | + )TOL Hay que poner un número máximo de iteraciones porque el método puede no converger. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 67 Cálculo de los ceros de una función Método de Newton-Raphson. Criterios de convergencia En el método de Newton-Raphson el criterio de convergencia habitual es : |xn+1 − xn | ≤ (|xn+1 | + )TOL Hay que poner un número máximo de iteraciones porque el método puede no converger. Además, el algoritmo se puede bloquear cuando ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 67 Cálculo de los ceros de una función Método de Newton-Raphson. Criterios de convergencia En el método de Newton-Raphson el criterio de convergencia habitual es : |xn+1 − xn | ≤ (|xn+1 | + )TOL Hay que poner un número máximo de iteraciones porque el método puede no converger. Además, el algoritmo se puede bloquear cuando f 0 (xn ) = 0 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 33 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Cálculo de los ceros de una función. Pseudocódigo para calcular la raiz cuadrada de un número. Algoritmo Raiz_Cuadrada variables reales A,TOL variable entera Nmax variables reales X0, X1 leer(A,TOL) leer(Nmax) si A<0 entonces escribir(’El numero A no es positivo’) devolver CODIGO DE ERROR finsi X0←1 para K←1 hasta Nmax hacer X1←X0-(X0*X0-A)/(2.*X0) si | X 0 − X 1 | <| X 1 | * TOL entonces escribir (’LA RAIZ DE A ES’,X0) devolver X1 sino X0←X1 finsi finpara escribir(’No máximo de iterac. excedido’) devolver CODIGO DE ERROR Luis Alvarez León () Métodos Numéricos ULPGCLogo Univ. de Las Palmas de G.C. 34 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 35 / 67 Cálculo de los ceros de una función El método de la Secante El método de la Secante es una variante del método de Newton para el caso en que no sea posible calcular la derivada de f (x) de una forma analítica. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 36 / 67 Cálculo de los ceros de una función El método de la Secante El método de la Secante es una variante del método de Newton para el caso en que no sea posible calcular la derivada de f (x) de una forma analítica. En este caso, se sustituye el valor f 0 (xn ) en el algoritmo, por el valor f (xn ) − f (xn−1 ) xn − xn−1 que corresponde a una aproximación de f 0 (xn ). Para iniciar el algoritmo, son necesarias dos aproximaciones iniciales, x0 y x1 . ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 36 / 67 Cálculo de los ceros de una función Método de la Secante ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 37 / 67 Cálculo de los ceros de una función Método de la Secante ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 38 / 67 Cálculo de los ceros de una función Método de la Secante ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 39 / 67 Cálculo de los ceros de una función Método de la Secante ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 40 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 41 / 67 Cálculo de los ceros de una función Método de Müller En el método de Müller, hacemos una aproximación parabólica de una función. A partir de una aproximación inicial x0 del cero de la función, se calcula la parábola tangente a x0 : ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 67 Cálculo de los ceros de una función Método de Müller En el método de Müller, hacemos una aproximación parabólica de una función. A partir de una aproximación inicial x0 del cero de la función, se calcula la parábola tangente a x0 : f (x) h f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 ) 2! (x − x0 )2 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 67 Cálculo de los ceros de una función Método de Müller En el método de Müller, hacemos una aproximación parabólica de una función. A partir de una aproximación inicial x0 del cero de la función, se calcula la parábola tangente a x0 : f (x) h f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 ) 2! (x − x0 )2 Se calculan las 2 raices de la parábola y se actualiza el valor de x0 tomando la raiz más cercana. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 67 Cálculo de los ceros de una función Método de Müller En el método de Müller, hacemos una aproximación parabólica de una función. A partir de una aproximación inicial x0 del cero de la función, se calcula la parábola tangente a x0 : f (x) h f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 ) 2! (x − x0 )2 Se calculan las 2 raices de la parábola y se actualiza el valor de x0 tomando la raiz más cercana. Si no tenemos acceso a las funciones derivadas, hay que aproximarlas. Para ello vamos a tener una secuencia xn de valores que van aproximando la raíz. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 67 Cálculo de los ceros de una función Método de Müller En el método de Müller, hacemos una aproximación parabólica de una función. A partir de una aproximación inicial x0 del cero de la función, se calcula la parábola tangente a x0 : f (x) h f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (x0 ) 2! (x − x0 )2 Se calculan las 2 raices de la parábola y se actualiza el valor de x0 tomando la raiz más cercana. Si no tenemos acceso a las funciones derivadas, hay que aproximarlas. Para ello vamos a tener una secuencia xn de valores que van aproximando la raíz. En cada etapa, para pasar de xn−1 a xn , calculamos f 0 (xn ), f 00 (xn ) utilizando los valores xn−1 , xn−2 , xn−3 de la siguiente forma : ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 42 / 67 Cálculo de los ceros de una función Método de Müller f (x) ≈ f (xn−1 ) + f 0 (xn−1 )(x − xn−1 ) + f 00 (xn−1 ) (x − xn−1 )2 2 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 43 / 67 Cálculo de los ceros de una función Método de Müller f (x) ≈ f (xn−1 ) + f 0 (xn−1 )(x − xn−1 ) + xn = xn−1 + −f 0 (xn−1 ) ± f 00 (xn−1 ) (x − xn−1 )2 2 q (f 0 (xn−1 ))2 − 2f (xn−1 )f 00 (xn−1 ) f 00 (xn−1 ) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 43 / 67 Cálculo de los ceros de una función Método de Müller f (x) ≈ f (xn−1 ) + f 0 (xn−1 )(x − xn−1 ) + xn = xn−1 + 00 −f 0 (xn−1 ) ± f (xn−1 ) ≈ 2 f 00 (xn−1 ) (x − xn−1 )2 2 q (f 0 (xn−1 ))2 − 2f (xn−1 )f 00 (xn−1 ) f 00 (xn−1 ) f (xn−2 )−f (xn−3 ) xn−2 −xn−3 − f (xn−1 )−f (xn−2 ) xn−1 −xn−2 xn−3 − xn−1 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 43 / 67 Cálculo de los ceros de una función Método de Müller f (x) ≈ f (xn−1 ) + f 0 (xn−1 )(x − xn−1 ) + xn = xn−1 + 00 −f 0 (xn−1 ) ± Luis Alvarez León () q (f 0 (xn−1 ))2 − 2f (xn−1 )f 00 (xn−1 ) f 00 (xn−1 ) f (xn−1 ) ≈ 2 f 0 (xn−1 ) ≈ f 00 (xn−1 ) (x − xn−1 )2 2 f (xn−2 )−f (xn−3 ) xn−2 −xn−3 − f (xn−1 )−f (xn−2 ) xn−1 −xn−2 xn−3 − xn−1 f (xn−1 ) − f (xn−2 ) f 00 (xn−1 ) + (xn−1 − xn−2 ) xn−1 − xn−2 2 Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 43 / 67 Cálculo de los ceros de una función Método de Müller f (x) ≈ f (xn−1 ) + f 0 (xn−1 )(x − xn−1 ) + xn = xn−1 + 00 −f 0 (xn−1 ) ± Luis Alvarez León () q (f 0 (xn−1 ))2 − 2f (xn−1 )f 00 (xn−1 ) f 00 (xn−1 ) f (xn−1 ) ≈ 2 f 0 (xn−1 ) ≈ f 00 (xn−1 ) (x − xn−1 )2 2 f (xn−2 )−f (xn−3 ) xn−2 −xn−3 − f (xn−1 )−f (xn−2 ) xn−1 −xn−2 xn−3 − xn−1 f (xn−1 ) − f (xn−2 ) f 00 (xn−1 ) + (xn−1 − xn−2 ) xn−1 − xn−2 2 Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 43 / 67 Cálculo de los ceros de una función Método de Müller ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 44 / 67 Cálculo de los ceros de una función Método de Müller ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 45 / 67 Cálculo de los ceros de una función Método de Müller ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 46 / 67 Cálculo de los ceros de una función Método de Müller ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 47 / 67 Funciones matemáticas en C #include <math.h> √ raiz cuadrada x sqrt(double x) sqrtf(float x) sqrtl(long double x) exponencial ex exp(double x) expf(float x) expl(long double x) Como usar las funciones matematicas con real sqrtl( (long double) real x) expl( (long double) real x) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 48 / 67 Funciones matemáticas en C #include <math.h> √ raiz cuadrada x sqrt(double x) sqrtf(float x) sqrtl(long double x) exponencial ex exp(double x) expf(float x) expl(long double x) Como usar las funciones matematicas con real sqrtl( (long double) real x) expl( (long double) real x) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 48 / 67 Funciones matemáticas en C #include <math.h> √ raiz cuadrada x sqrt(double x) sqrtf(float x) sqrtl(long double x) exponencial ex exp(double x) expf(float x) expl(long double x) Como usar las funciones matematicas con real sqrtl( (long double) real x) expl( (long double) real x) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 48 / 67 Funciones matemáticas en C #include <math.h> √ raiz cuadrada x sqrt(double x) sqrtf(float x) sqrtl(long double x) exponencial ex exp(double x) expf(float x) expl(long double x) Como usar las funciones matematicas con real sqrtl( (long double) real x) expl( (long double) real x) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 48 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 49 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)x + 4 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)x + 4 P(x) = x 4 − x 3 + x 2 − x + 1 = (((? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)x + 4 P(x) = x 4 − x 3 + x 2 − x + 1 = (((x − 1)? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)x + 4 P(x) = x 4 − x 3 + x 2 − x + 1 = (((x − 1)x + 1)? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)x + 4 P(x) = x 4 − x 3 + x 2 − x + 1 = (((x − 1)x + 1)x − 1)? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar un polinomio en un punto P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 Ejemplos: P(x) = x 4 − 2x 3 + 3x + 4 = (((x − 2)x + 0)x + 3)x + 4 P(x) = x 4 − x 3 + x 2 − x + 1 = (((x − 1)x + 1)x − 1)x + 1 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 50 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 51 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 52 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 P 0 (2) = 4(2)2 + ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 52 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 P 0 (2) = 4(2)2 + 5(2) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 52 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = 4x 3 − 3x 2 − 2x + 1 = ((4x − 3)x − 2)x + 1 P(2) = ((4(2) − 3)2 − 2)2 + 1 = ((5)2 − 2)2 + 1 = (8)2 + 1 = 17 P 0 (2) = 4(2)2 + 5(2) + 8 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 52 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1 P(3) = ? P 0 (3) = ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1 P(3) = 1 P 0 (3) = 1(3)3 + ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1 P(3) = 2 P 0 (3) = 1(3)3 + 2(3)2 + ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1 P(3) = 7 P 0 (3) = 1(3)3 + 2(3)2 + 7(3)1 + ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1 P(3) = 20 P 0 (3) = 1(3)3 + 2(3)2 + 7(3)1 + 20 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Cálculo de los ceros de una función Caso especial de un polinomio Algoritmo de Horner para evaluar la derivada de un polinomio en un punto. Se evalua simultáneamente el polinomio y su derivada P(x) = x 4 − x 3 + x 2 − x + 1 = (((1x − 1)x + 1)x − 1)x + 1 P(3) = 61 P 0 (3) = 1(3)3 + 2(3)2 + 7(3)1 + 20 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 53 / 67 Contenido 1 Introducción 2 El método de la bisección 3 El método de la Regula-Falsi 4 El método de Newton-Raphson 5 El método de la secante 6 El método de Müller 7 Cálculo de los ceros de un polinomio 8 El algoritmo de Horner para evaluar un polinomio y su derivada 9 Separación en intervalos de los ceros de un polinomio Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. ULPGCLogo 54 / 67 Cálculo de los ceros de una función Aislar todos los ceros de un polinomio en un sólo intervalo Teorema Sea un polinomio P(x) = an x n + an−1 x n−1 + ...... + a0 con an 6= 0, entonces las raíces reales de P(x) están en el intervalo maxk =0,..,n−1 | ak | maxk =0,..,n−1 | ak | ,1 + −1 − | an | | an | ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 55 / 67 Cálculo de los ceros de una función Aislar todos los ceros de un polinomio en un sólo intervalo Teorema Sea un polinomio P(x) = an x n + an−1 x n−1 + ...... + a0 con an 6= 0, entonces las raíces reales de P(x) están en el intervalo maxk =0,..,n−1 | ak | maxk =0,..,n−1 | ak | ,1 + −1 − | an | | an | Ejemplo El polinomio P(x) = 4x 3 − 8x 2 + x − 3 tiene todas sus raíces en el intervalo ? ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 55 / 67 Cálculo de los ceros de una función Aislar todos los ceros de un polinomio en un sólo intervalo Teorema Sea un polinomio P(x) = an x n + an−1 x n−1 + ...... + a0 con an 6= 0, entonces las raíces reales de P(x) están en el intervalo maxk =0,..,n−1 | ak | maxk =0,..,n−1 | ak | ,1 + −1 − | an | | an | Ejemplo El polinomio P(x) = 4x 3 − 8x 2 + x − 3 tiene todas sus raíces en el intervalo [−3, 3] ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 55 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 56 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 57 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 58 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 59 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 60 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 61 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 62 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 63 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 64 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 65 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 66 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. Calculamos el intervalo [−a, a] donde se encuentran todas las raíces ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. Calculamos el intervalo [−a, a] donde se encuentran todas las raíces Derivamos n − 1 veces el polinomio, obteniendo el polinomio P n−1) (x) de grado 1 ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. Calculamos el intervalo [−a, a] donde se encuentran todas las raíces Derivamos n − 1 veces el polinomio, obteniendo el polinomio P n−1) (x) de grado 1 Calculamos la raiz x0n−1 de P n−1) (x) ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. Calculamos el intervalo [−a, a] donde se encuentran todas las raíces Derivamos n − 1 veces el polinomio, obteniendo el polinomio P n−1) (x) de grado 1 Calculamos la raiz x0n−1 de P n−1) (x) n−2 n−2 n−2) (x) en los Calculamos h las raíces i xh0 , x1 i del polinomio P intervalos −a, x0n−1 y x0n−1 , a ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. Calculamos el intervalo [−a, a] donde se encuentran todas las raíces Derivamos n − 1 veces el polinomio, obteniendo el polinomio P n−1) (x) de grado 1 Calculamos la raiz x0n−1 de P n−1) (x) n−2 n−2 n−2) (x) en los Calculamos h las raíces i xh0 , x1 i del polinomio P intervalos −a, x0n−1 y x0n−1 , a n−3 n−3 n−3 n−3) (x) en Calculamos las h raíces xi0 h , x1 , x2 idel polinomio h i P los intervalos −a, x0n−2 , −x0n−2 , x1n−2 , y x1n−2 , a ULPGCLogo Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67 Cálculo de los ceros de un polinomio Aislar cada raíz en un intervalo diferente Procedimiento para aislar las raíces de un polinomio P(x) de grado n. Calculamos el intervalo [−a, a] donde se encuentran todas las raíces Derivamos n − 1 veces el polinomio, obteniendo el polinomio P n−1) (x) de grado 1 Calculamos la raiz x0n−1 de P n−1) (x) n−2 n−2 n−2) (x) en los Calculamos h las raíces i xh0 , x1 i del polinomio P intervalos −a, x0n−1 y x0n−1 , a n−3 n−3 n−3 n−3) (x) en Calculamos las h raíces xi0 h , x1 , x2 idel polinomio h i P los intervalos −a, x0n−2 , −x0n−2 , x1n−2 , y x1n−2 , a ULPGCLogo Continuamos de esta manera hasta llegar a las raíces de P(x) Luis Alvarez León () Métodos Numéricos Univ. de Las Palmas de G.C. 67 / 67