EJERCICIO COMPUTACIONAL N o 5. CUADRATURA Y DERIVACIÓN NUMÉRICAS Ángel Durán Departamento de Matemática Aplicada Universidad de Valladolid 14 de mayo de 2011
Contenidos 1 Cuadratura numérica Técnicas elementales de construcción de fórmulas Estimación del error Reglas compuestas Estudio comparativo 2 Derivación numérica Formulación y propiedades Aspectos numéricos 3 Aplicación. Resolución numérica de EDOs Discretización y aproximación Métodos de un paso Implementación y experimentos numéricos
Técnicas elementales de construcción de fórmulas Formulación I(f ) = b a f (x)dx I N+1 = N α j f (x j ). (1) j=0 a x 0 < x 1 < < x N b: nodos o abscisas de cuadratura (conocidos). α 0,..., α N : pesos o coeficientes (desconocidos) Grado de exactitud M 0 si I(f ) = I N+1 (f ), para cada polinomio f de grado menor o igual que M, pero existe algún polinomio f de grado M + 1 para el que I(f ) I N+1 (f ).
Técnicas elementales de construcción de fórmulas Métodos de construcción Interpolatorio. P N polinomio interpolador de f en x 0,..., x N : P N (x) = N f (x j )L j (x), j=0 L j es el polinomio de Lagrange asociado al nodo x j. b a f (x)dx b a P N (x)dx = ( N ) b L j (x)dx f (x j ), (2) j=0 a α j = b a L j (x)dx, j = 0,..., N.
Técnicas elementales de construcción de fórmulas Métodos de construcción Directo. I(1) = I N+1 (1) α 0 + α 1 + + α N = b a, I(x) = I N+1 (x) α 0 x 0 + α 1 x 1 + + α N x n = b2 a 2, 2... I(x k ) = I N+1 (x k ) α 0 x0 k + α 1x1 k + + α Nxn k = bk+1 a k+1. k + 1 k = N solución única. Grado N. Cambio de base Cambio de variable
Técnicas elementales de construcción de fórmulas Métodos de construcción Desarrollo de Taylor. (i) Desarrollar por Taylor los valores f (x j ) que aparecen en I N+1 (f ). El punto en torno al cual desarrollar puede elegirse con un criterio de simplificación en los cálculos. (ii) Desarrollar por Taylor en el mismo punto el integrando de I(f ) e integrar término a término. (iii) Imponer la coincidencia de ambos desarrollos. Tal imposición lleva a un sistema lineal para los coeficientes α j de la regla.
Técnicas elementales de construcción de fórmulas Reglas clásicas 1 Regla del rectángulo: N = 0, x 0 = a, M = 0. I REC (f ) = (b a)f (a). 2 Regla del punto medio: N = 0, x 0 = a+b 2, M = 1. ( ) a + b I PM (f ) = (b a)f. 2 3 Regla de los trapecios: N = 1, x 0 = a, x 1 = b, M = 1. I T (f ) = (b a) 2 (f (a) + f (b)). 4 Regla de Simpson: N = 2, x 0 = a, x 1 = a+b 2, x 2 = b, M = 3. ( ( ) ) (b a) a + b I S (f ) = f (a) + 4f + f (b). 6 2
Estimación del error Errores. Núcleo de Peano Supongamos que la fórmula (1) tiene grado de precisión al menos M. Entonces, para cada f C M+1 ([a, b]), E(f ) = b donde K (núcleo de Peano) K (t) = 1 M! E(g t), g t (x) = a f M+1) (t)k (t)dt, { (x t) M x t 0 x < t Si, además, K no cambia de signo en [a, b], entonces para cada f C M+1 ([a, b]) existe ξ [a, b] tal que E(f ) = f M+1) (ξ) (M + 1)! E(x M+1 ).
Estimación del error Estimaciones del error. Ejemplos E REC (f ) = (b a)2 f (ξ 2 REC ), f C 1, E PM (f ) = (b a)3 f (ξ PM ), 24 f C 2, E T (f ) = (b a)3 f (ξ T ), 12 f C 2, E S (f ) = (b a)5 2880 f (ξ S ), f C 4
Reglas compuestas Construcción de reglas compuestas Partición de [a, b] Aditividad de la integral a = z 0 < z 1 < < z N = b, b a f (x)dx = N i=1 zi z i 1 f (x)dx, Aproximar cada una de las integrales por una regla de cuadratura. La partición del intervalo se suele hacer uniforme: i = 0,..., N z i z i 1 = h es constante. El error queda en función de h, lo que permite reducirlo haciendo h 0.
Reglas compuestas Reglas compuestas clásicas Regla del rectángulo compuesta b a f (x)dx N (z i z i 1 )f (z i 1 ) i=1 Regla del punto medio compuesta b a f (x)dx N i=1 (z i z i 1 ) f 2 ( ) zi 1 + z i 2
Reglas compuestas Reglas compuestas clásicas Regla del trapecio compuesta b a f (x)dx N i=1 (z i z i 1 ) 2 (f (z i 1 ) + f (z i )) Regla de Simpson compuesta b a f (x)dx N i=1 (z i z i 1 ) 6 ( f (z i 1 ) + 4f ( zi 1 + z i 2 ) ) + f (z i )
Reglas compuestas Implementación general N intervalos equiespaciados. Diámetro h = (b a)/n Nodos z j = a + j h, j = 0,..., N Evaluaciones del integrando f (z j ) function [INTEGRAL]=regla(a,b,N) h = (b a)/n Z = a : h : b EVALUAR F = fun(z ) IMPLEMENTAR FÓRMULA: INTEGRAL= end endfunction
Reglas compuestas Análisis del error en las reglas compuestas E i : error en el intervalo [z i 1, z i ], E(f ) = N E i (f ) = i=1 N i=1 zi z i 1 K i (t)f M+1) (t)dt, K i (t) = 1 { M! E(g(i) t ), t [z i 1, z i ] g (i) (x t) M x t t (x) = 0 x < t K (t) : [a, b] R, K (t) = K i (t) si t [z i 1, z i ] E(f ) = b a = m«ax 1 i N K (t)f (t)dt m«ax K (t) m «ax K i (t) z i 1 t z i a t b b Orden de convergencia p si E(f )(h) h p a b a f M+1) (t) dt f M+1) (t) dt
Estudio comparativo Criterios de selección de fórmulas El error depende de h y de la regularidad del integrando Alto grado de convergencia: si E(f )(h) h p, cada vez que dividimos h h/2, el error se divide por 2 p aprox. Coste operativo: minimizar el número de evaluaciones del integrando Equilibrio entre convergencia y coste operativo
Estudio comparativo Ejemplo 1 Aproximación a 1 0 sin xdx, con partición uniforme de longitud h h RC PMC TC SC 5.0e-01 2.1998e-01 4.8237e-03 9.6172e-03 1.0051e-05 2.5e-01 1.0758e-01 1.1993e-03 2.3968e-03 6.2467e-07 1.25e-01 5.3191e-02 2.9942e-04 5.9872e-04 3.8987e-08 6.25e-02 2.6446e-02 7.4829e-05 1.4965e-04 2.4358e-09 Cuadro: Tabla de errores para f (x) = sin x.
Figura: Error vs diámetro h para f (x) = sin x. Estudio comparativo Ejemplo 1
Figura: Error vs evaluaciones del integrando para f (x) = sin x. Estudio comparativo Ejemplo 1
Estudio comparativo Ejemplo 2 Aproximación a 1 0 xdx, con partición uniforme de longitud h h RC PMC TC SC 5e-01 3.1311e-01 1.6346e-02 6.3113e-02 1.0140e-02 2.5e-01 1.4838e-01 6.3107e-03 2.3384e-02 3.5874e-03 1.25e-01 7.1036e-02 2.3655e-03 8.5364e-03 1.2685e-03 6.25e-02 3.4335e-02 8.7001e-04 3.0855e-03 4.4848e-04 Cuadro: Tabla de errores para f (x) = x.
Figura: Error vs diámetro h para f (x) = x. Estudio comparativo Ejemplo 2
Figura: Error vs evaluaciones del integrando para f (x) = x. Estudio comparativo Ejemplo 2
Formulación y propiedades Derivación numérica. Formulación f (y) D N+1 = N α j f (x j ) j=0 a x 0 < x 1 < < x N b: nodos (conocidos). α 0,..., α N : pesos o coeficientes (desconocidos) Grado de exactitud M 0 si I(f ) = I N+1 (f ), para cada polinomio f de grado menor o igual que M, pero existe algún polinomio f de grado M + 1 para el que I(f ) I N+1 (f ). Construcción y estimaciones del error con las mismas técnicas
Formulación y propiedades Fórmulas clásicas y extensiones 1 Progresiva (M = 1): 2 Regresiva (M = 1): 3 Centrada (M = 2): f (y) f (y) f (y+h) f (y) h, h > 0. f (y) f (y h) h, h > 0. f f (y+h) f (y h) (y) 2h, h > 0. 4 Fórmula central para la derivada segunda (M = 3) f (y) f (y h) 2f (y) + f (y + h) h 2, h > 0.
Formulación y propiedades Carácter mal puesto la evaluación de f en un punto es un problema mal puesto: cambios pequeños en los valores de f pueden generar cambios grandes en los valores de la derivada f (y) = lim h 0 f (y + h) f (y) h El problema se traslada a las fórmulas de derivación numérica, al afectar los errores de redondeo a las evaluaciones de la función
Aspectos numéricos Carácter mal puesto. Ejemplo f (0) f (h) f ( h), h > 0, 2h f (h) f ( h) 2h h f (h) f (0) 10 0 2,718282 0,175201 10 1 1,105171 0,001668 10 2 1,010050 0,000017 10 3 1,001001 0,000017 10 4 1,000100 0,000166 10 5 1,000010 0,001358 10 6 1,000001 0,016523 Cuadro: Diferencias centradas para f (x) = e x. La aproximación empeora a partir de h = 10 3
Cuadratura numérica lección, en esta parte se consideran Derivaciónlas numérica ecuaciones del calor y de ondas Aplicación. como Resolución modelos anumérica estudio de EDOs e ilustración de los procedimientos numéricos. Aspectos numéricos Como hemos indicado, la necesidad de métodos numéricos para estudiar este tipo de problemas procede del hecho de que, en general, una ecuación diferencial no se puede integrar; no es posible Uso deencontrar la derivación expresiones analíticas numérica. de las soluciones. Ejemplo También ocurre a veces que, aunque se tengan expresiones teóricas, éstas no sean manejables en la práctica (como series infinitas, por ejemplo). Como ilustración de todo esto, se puede mostrar el modelo del circuito no lineal siguiente, en el que la resistencia depende de la intensidad, y tiene por ecuación (1 + 2 i(t)) di R 0 dt + 1 R 0 C i(t) = 1 de R 0 dt R C C Condensador i(t) Intensidad E(t) Batería R(t) = R 0 + i(t) i(t) E(t) (con la función E(t) conocida). A partir de un dato inicial, el valor de la intensidad en un instante t 0, i(t 0 ), la correspondiente solución no puede obtenerse explícitamente. Ello lleva a la necesidad de buscar aproximaciones numéricas a la solución. La estrategia general será la de
Aspectos numéricos Uso de la derivación numérica. Ejemplo (1 + 2 i(t)) di R 0 dt + 1 R 0 C i(t) = 1 de R 0 dt Método numérico Aproximaciones i 1, i 2,..., i N a i(t 1 ), i(t 2 ),..., i(t N ) en tiempos t 1, t 2,..., t N i k i(t k ), k = 1, 2,..., N (1 + 2 R 0 i k ) i k+1 i k t k+1 t k + 1 R 0 C i k = 1 R 0 de dt (t k)
Aspectos numéricos Método numérico Uso de la derivación numérica. Ejemplo Aproximaciones i 1, i 2,..., i N a i(t 1 ), i(t 2 ),..., i(t N ) en instantes de tiempo t 1, t 2,..., t N i k i(t k ), k = 1, 2,..., N Figura 6.1: Aproximación a los valores de la solución.
Discretización y aproximación Problema de valores iniciales (PVI). Etapas de aproximación numérica d dt y(t) = f (t, y), t 0 t T, (3) y(t 0 ) = y 0, f : [t 0, T ] R R Existe L 0 tal que t [t 0, T ], y, y R. f (t, y) f (t, y ) L y y, y 0 R existe una única solución y(t) de (3), que es continua y con derivada continua en [t 0, T ].
Discretización y aproximación Problema de valores iniciales (PVI). Etapas de aproximación numérica En general, (3) no puede resolverse exactamente Discretización: dividir el intervalo [t 0, T ] en una red discreta de nodos t n = t 0 + nh, n = 0,..., N, h = t N t 0 N, t N = T. Método numérico: Obtener valores numéricos y n y(t n ), n = 0,..., N como soluciones de una ecuación en diferencias relacionada con (3).
Discretización y aproximación Etapas de aproximación numérica. Ejemplos Método de un paso (Euler) f (t n, y(t n )) = dy dt tn y(t n+1) y(t n ), h y n+1 = y n + hf (t n, y n ), n = 0, 1,..., N 1 Método de dos pasos (Punto medio) f (t n, y(t n )) = dy dt tn y(t n+1) y(t n 1 ), 2h y n+1 = y n 1 + 2hf (t n, y n ), n = 1, 2,..., N 1
Métodos de un paso Métodos de un paso. Formulación y n+1 = y n + hφ(t n, y n, h), (4) para cierta constante L. Φ(t, y, 0) = f (t, y), Φ(t, y, h) Φ(t, y, h) L y y,
Métodos de un paso Métodos de un paso. Algunas técnicas de generación 1 Derivación numérica dy dt tn y(t n+1) y(t n ), h Φ(t, y, h) f (t, y) 2 Formulación integral + cuadratura tn+1 tn+1 y(t n+1 ) = y(t n ) + y (t)dt = y(t n ) + f (t, y(t))dt t n t n Cuadratura para aproximar tn+1 t n f (t, y(t))dt hφ(t n, y(t n ), h)
Métodos de un paso Métodos de un paso. Ejemplos Método de Euler explícito: y n+1 = y n + hf (t n, y n ), Φ(t, y, h) = f (t, y). Método de Euler mejorado: k 1 = f (t n, y n ), k 2 = f (t n+1, y n + hk 1 ), y n+1 = y n + h 2 (k 1 + k 2 ), Φ(t, y, h) = 1 (f (t, y) + f (t + h, y + hf (t, y))). 2
Métodos de un paso Métodos de un paso. Ejemplos Regla de Heun: k 1 = f (t n, y n ), k 2 = f (t n + h 3, y n + h 3 k 1), k 3 = f (t n + 2h 3, y n + 2h 3 k 2) y n+1 = y n + h 4 (k 1 + 3k 3 ), Φ(t, y, h) = 1 4 (k 1(t, y, h) + 3k 3 (t, y, h))).
Métodos de un paso Métodos de un paso. Estimación del error Error local de truncación elt n+1 en t n+1 : residuo que se obtiene cuando se sustituye la solución teórica de (3) en la ecuación en diferencias (4), elt n+1 = y(t n+1 ) y(t n ) hφ(t n, y(t n ), h), (5) elt 0 = y(t 0 ) y 0. (Error local en t n+1, si se avanza a partir de la solución teórica y(t n ) en t n ) y n y(t n ) y n+1 = y n + hφ(t n, y n, h) y(t n ) + hφ(t n, y(t n ), h) Para que y n+1 y(t n+1 ) y(t n+1 ) y n+1 y(t n+1 ) y(t n ) hφ(t n, y(t n ), h) = elt n+1 ha de ser pequeño.
Métodos de un paso Métodos de un paso. Estimación del error. Consistencia: el método (4) es consistente si para todo (PVI) (3), lim h 0+ m«ax elt n+1 0 n N 1 h = 0. Consistencia de orden p si además, cuando f C p, m«ax elt n+1 0 n N 1 h = O(hp ), h 0 +. (elt n+1 = O(h p+1 ), h 0+)
Métodos de un paso Métodos de un paso. Estimación del error Ejemplo: Euler explícito: y n+1 = y n + hf (t n, y n ) elt n+1 = y(t n+1 ) y(t n ) hf (t n, y(t n )) α n entre t n y t n+1 elt n+1 h = y(t n+1 ) y(t n ) hy (t n ) = (y(t n ) + hy (t n ) + h2 2 y (α n )) y(t n ) hy (t n ) = h2 2 y (α n ), = h 2 y (α n ) m«ax 0 n N 1 Consistencia de orden p = 1 elt n+1 h = O(h), h 0+
Métodos de un paso Métodos de un paso. Estimación del error Estabilidad: control de la propagación de los errores locales de truncación y n+1 = y n + hφ(t n, y n, h), y 0 z n+1 = z n + hφ(t n, z n, h) + d n+1, z 0 = y 0 + d 0 Método estable si m«ax y n z n S 0 n N N d j, con S > 0 constante. Pequeñas perturbaciones del esquema generan soluciones numéricas cercanas j=0
Métodos de un paso Métodos de un paso. Estimación del error Ejemplo: Euler explícito: y n+1 = y n + hf (t n, y n ) y n z n = y n 1 z n 1 + h(f (t n 1, y n 1 ) f (t n 1, z n 1 )) + d n. y n z n (1 + hl) y n 1 z n 1 + d n (1 + hl) 2 y n 2 z n 2 + (1 + hl) d n 1 + d n n (1 + hl) n y 0 z 0 + (1 + hl) n j d j (1 + hl) N d 0 + j=1 n = S d j, S = e L(T t 0) j=0 n d j e hln j=1 j=0 n d j
Métodos de un paso Métodos de un paso. Estimación del error Error global en t n : e n = y(t n ) y n Convergencia: Errores globales pequeños con h 0+ Método convergente si: lim h 0+ t n = nh fijo. Convergencia de orden p si m«ax y(t n) y n = 0, 0 n N m«ax y(t n) y n = O(h p ) (h 0+) 0 n N
Métodos de un paso Métodos de un paso. Estimación del error consistencia (orden p) pequeños errores locales + + estabilidad buena propagación convergencia (orden p) pequeños errores globales
Métodos de un paso Métodos de un paso. Estimación del error Ejemplo: Euler explícito: y n+1 = y n + hf (t n, y n ) z n = y(t n ) z n+1 = z n + hf (t n, z n ) + d n+1, d n+1 = elt n+1 ( N ) e n = y(t n ) y n = z n y n e L(T t 0) elt n e L(T t 0) con M constante n=0 N Mh 2 = e L(T t0) MNh 2 = e L(T t0) (T t 0 )Mh, n=0 m«ax y(t n) y n = O(h), h 0 0 n N Convergencia de orden p = 1
Implementación y experimentos numéricos Implementación general de métodos de un paso N intervalos equiespaciados. Longitud de paso h = (b a)/n Nodos t j = t 0 + j h, j = 0,..., N. dato inicial y 0 Evaluaciones de f para la fórmula Φ(t, y, h) function método(t 0, T, N) h = (T t 0 )/N Para n = 0 : N 1 EVALUAR Φ(t, y, h) AVANZAR y y + hφ(t, y, h) end endfunction
Implementación y experimentos numéricos Implementación general de métodos de un paso Alternativamente function método(t 0, T, N) h = (T t 0 )/N Para n = 0 : N 1 EVALUAR Φ(t, y(n), h) AVANZAR y(n + 1) = y(n) + hφ(t, y(n), h) end endfunction
Implementación y experimentos numéricos Ejemplo. Regla de Heun function y =Heun(t 0, T, N) h = (T t 0 )/N h 0 h/4, h 1 h/3 h 2 2h 1, h 3 3h 0 Para n = 0 : N 1 t t 0 + jh k 1 f (t, y) k 2 f (t + h 1, y + h 1 k 1 ) k 3 f (t + h 2, y + h 2 k 2 ) y y + (h 0 k 1 + h 3 k 3 ) end endfunction
Implementación y experimentos numéricos Ejemplo 1. Regla de Heun de solución x(t) = t + 1 x (t) = 1, x(0) = 1, (6) 2x(t) h error 0.5 1.1971E-04 0.25 1.4273E-05 0.125 1.7268E-06 0.0625 2.1186E-07 0.03125 2.6222E-08 0.015625 3.2612E-09 Cuadro: Errores en T = 20 de la regla de Heun para el problema (6)
Implementación y experimentos numéricos Ejemplo 1. Regla de Heun Figura: Regla de Heun. Ejemplo (6). Gráfica de errores. Escala logarítmica.
Implementación y experimentos numéricos Ejemplo 2. Regla de Heun ( ) u = v ( ) v v(v 1), u ( ) u(0) = v(0) ( ) 1/2, (7) 3 solución exacta: u(t) = 1 + 3e 8t, v(t) = 3e 8t 8 h error 0.1 2.8635E-04 5E-02 2.9445E-05 2.5E-02 3.1707E-06 1.25E-02 3.6621E-07 6.25E-03 4.3984E-08 Cuadro: Errores en T = 1 de la regla de Heun para el problema (7)
Implementación y experimentos numéricos Ejemplo 2. Regla de Heun Figura: Regla de Heun. Ejemplo (7). Gráfica de errores. Escala logarítmica.