ECUACIONES NO LINEALES Algoritmos para resolver una ecuación no lineal f (x) = 0, f : [a, b] −→ R, con f (a)f (b) < 0. Método de Newton-Bisección 1. Tomar x0 ∈ [a, b]; k = 0; ε > 0; 2. • Si f (a)f (x0 ) < 0 ⇒ a0 = a, b0 = x0 . • Si no ⇒ a0 = x0 , b0 = b. 3. • Si |f ′ (xk )| > εM |f (xk )| ⇒ y k+1 = xk − f (xk ) . f ′ (xk ) – Si y k+1 ∈ [ak , bk ] ⇒ xk+1 = y k+1 . ak + bk – Si no ⇒ xk+1 = . 2 ak + bk • Si no ⇒ xk+1 = . 2 4. • Si f (ak )f (xk+1 ) < 0 ⇒ ak+1 = ak , bk+1 = xk+1 . • Si no ⇒ ak+1 = xk+1 , bk+1 = bk . 5. • Si |xk+1 − xk | < ε max{1, |xk+1 |} y |f (xk+1 )| < ε ⇒ STOP. • Si |f (xk+1 )| < εf ⇒ STOP. • Si no ⇒ volver al paso 3. NOTAS: • ε es la precisión que se desea en la solución. • εf es la precisión con la que se evalúa la función f . Si no se conoce, se debe elegir 3/4 un número mayor que la precisión de la máquina. En algunos casos εf = εM puede ser un número razonable. • εM es la precisión de la máquina. 1 Método de Secante-Bisección 1. Tomar x0 = a; x1 = b; a1 = a; b1 = b; ε > 0; 2. Calcular x2 = x1 − f (x1 ) . f (x1 ) − f (x0 ) x1 − x0 3. k = 2. • Si f (x2 )f (a1 ) < 0 ⇒ a2 = a1 , b2 = x2 , x1 = x0 . • Si no ⇒ a2 = x2 , b2 = b1 . 4. mk = f (xk ) − f (xk−1 ) . xk − xk−1 f (xk ) . mk = y k+1 . • Si |mk | > εM |f (xk )| ⇒ y k+1 = xk − – Si y k+1 ∈ [ak , bk ] ⇒ xk+1 ak + bk . – Si no ⇒ xk+1 = 2 ak + bk • Si no ⇒ xk+1 = . 2 5. • Si f (ak )f (xk+1 ) < 0 ⇒ ak+1 = ak , bk+1 = xk+1 . • Si no ⇒ ak+1 = xk+1 , bk+1 = bk . 6. • Si |xk+1 − xk | < ε max{1, |xk+1 |} y |f (xk+1 )| < ε ⇒ STOP. • Si |f (xk+1 )| < εf ⇒ STOP. • Si no ⇒ volver al paso 4. NOTAS: • ε es la precisión que se desea en la solución. • εf es la precisión con la que se evalúa la función f . Si no se conoce, se debe elegir 3/4 un número mayor que la precisión de la máquina. En algunos casos εf = εM puede ser un número razonable. • εM es la precisión de la máquina. 2 INTERPOLACIÓN Definición 1 Dados n + 1 puntos distintos {x0 , x1 , . . . , xn } del intervalo [a, b] y una función f : [a, b] −→ R, se dice que un polinomio p es el polinomio de interpolación de Lagrange de la función f en los nodos citados si p es de grado n y p(xi ) = f (xi ) para cada 0 ≤ i ≤ n. Los puntos {xi }ni=0 se llaman nodos de interpolación. La interpolación se dice lineal si n = 1, cuadrática si n = 2 y cúbica si n = 3. Teorema 1 El problema de interpolación de Lagrange posee una única solución. Además ésta viene dada mediante la fórmula p(x) = n ∑ f (xi )li (x), i=0 donde {li }ni=0 son los polinomios de base de Lagrange asociados a los nodos {xi }ni=1 y que vienen dados por las expresiones n ∏ li (x) = j=0 j ̸= i x − xj . xi − xj Teorema 2 Supongamos que la función f is n + 1 veces derivable en el intervalo [a, b] y que f (n+1) es una función continua, entonces una cota del error de interpolación de Lagrange viene dada por la expresión max |f n+1 (ξ)| ∏ n ξ∈[a,b] |f (x) − p(x)| ≤ | (x − xj )|. (n + 1)! j=0 A la vista de la fórmula del error dada por el teorema anterior, es natural plantearse la elección de los nodos {xi }ni=0 de forma que la cantidad max | x∈[a,b] n ∏ (x − xj )| j=0 sea mı́nima. Esto se consigue tomando los llamados puntos de Chebyshev xi = (2i + 1)π a+b b−a + cos 0 ≤ i ≤ n. 2 2 2n + 2 Con esta elección de los nodos se tiene n ∏ (b − a)n+1 max | (x − xj )| = . 2n+1 x∈[a,b] 2 j=0 3 Definición 2 Sea f : [a, b] −→ R una función, {x0 , x1 , . . . , xk } k + 1 puntos distintos del intervalo [a, b] y {α0 , α1 , . . . , αk } k + 1 enteros no negativos. El problema de interpolación de Hermite consiste en determinar un polinomio de grado ≤ n = k + α0 + α1 + . . . + αk satisfaciendo p(j) (xi ) = f (j) (xi ), 0 ≤ j ≤ αi y 0 ≤ i ≤ k. Teorema 3 El problema de interpolación de Hermite posee una única solución. Teorema 4 Supongamos que la función f is n + 1 veces derivable en el intervalo [a, b] y que f (n+1) es una función continua, entonces una cota del error de interpolación de Hermite viene dada por la expresión max |f n+1 (ξ)| ∏ k |f (x) − p(x)| ≤ | (x − xj )αj +1 |. (n + 1)! j=0 ξ∈[a,b] 4 INTEGRACIÓN NUMÉRICA Fórmulas de Newton-Cotes Cerradas Regla Trapezoidal: ∫ b b−a h3 f (x) dx = [f (a) + f (b)] − f ′′ (ξ) 2 12 a Regla de Simpson: ∫ b a+b h5 b−a [f (a) + 4f ( ) + f (b)] − f (4) (ξ) f (x) dx = 6 2 90 a Regla 3/8: ∫ b 2a + b a + 2b 3h5 (4) b−a [f (a) + 3f ( ) + 3f ( ) + f (b)] − f (ξ) f (x) dx = 8 3 3 80 a Regla de Milne o Boole-Villarceau: ∫ b b−a 3a + b a+b a + 3b 8h7 (6) f (x) dx = [7f (a) + 32f ( ) + 12f ( ) + 32f ( ) + 7f (b)] − f (ξ) 90 4 2 4 945 a ∫ b f (x) dx = a b−a 4a + b 3a + 2b 2a + 3b a + 4b [19f (a) + 75f ( ) + 50f ( ) + 50f ( ) + 75f ( ) 288 5 5 5 5 275h7 (6) +19f (b)] − f (ξ) 12096 Regla de Weddle o Hardy: ∫ b b−a 5a + b 2a + b a+b a + 2b f (x) dx = [41f (a) + 216f ( ) + 27f ( ) + 272f ( ) + 27f ( ) 840 6 3 2 3 a a + 5b 9h9 (8) +216f ( ) + 41f (b)] − f (ξ) 6 1400 5 INTEGRACIÓN NUMÉRICA DE ECUACIONES DIFERENCIALES Ecuación a Integrar: { y ′ (t) = f (t, y(t)) t ∈ [t0 , t0 + T ] y(t0 ) = y 0 , donde f : [t0 , t0 + T ] × Rn −→ Rn , 0 < T < ∞ y y 0 ∈ Rn . Utilizaremos un par de métodos Runge-Kutta encajados para controlar el paso en la integración de la ecuación diferencial: { n+1 y = y n + hn Φf (tn , y n , hn ), ŷ n+1 = y n + hn Ψf (tn , y n , hn ), el primero de orden p y el segundo de orden q > p. CONTROL DEL PASO Se fijan dos parámetros εa y εr que determinan la tolerancia del error de integración en cada instante tn . 1. Elección de h0 : 1 h0 = max{[εa + εr ∥y 0 ∥] p+1 , hmin } donde podemos fijar hmin = T /106 por ejemplo. 2. Criterio de aceptación del paso: Si ∥εn+1 ∥ = ∥y n+1 − ŷ n+1 ∥ ≤ T OL = εa + εr ∥ŷ n+1 ∥ ⇒ se acepta el paso. 3. Reducción del paso tras un fallo: dado ( rn = 0.9 T OL ∥εn+1 ∥ 1 ) p+1 se elige hn → min{rn , rmin }hn , tomando rmin ∈ [0.1, 0.5]. (Nosotros tomaremos rmin = 0.5) 4. Previsión del paso siguiente: Si ha habido un fallo del paso en la determinación de una de las dos últimas aproximaciones de la solución, entonces se toma rmax = 1, en caso contrario se fija rmax = 5. Se calcula rn como antes y se toma { hn si rn ∈ [1, 1.1] hn+1 = min{rn , rmax }hn en otro caso. 6