10 Métodos para PVF. 4.4. Análisis de errores y convergencia. Vamos a analizar el error cometido en los métodos de tiro simple y de diferencias finitas para resolver el p.v.f. (4.5). 4.4.1. Método de tiro. Caso lineal. Como ya sabemos el problema lineal (4.8) es equivalente a los problemas de valores iniciales P1, P2 siguientes: ( ( y 00 = p (x) y 0 + q (x) y + r (x) y 00 = p (x) y 0 + q (x) y P1 : P 2 : y (a) = α, y 0 (a) = 0 y (a) = 0, y 0 (a) = 1 en cuyo caso, si y1 (x) e y2 (x) son las respectivas soluciones de P1 y P2, la solución del p.v.f. lineal es: y(x) = y1 (x) + µy2 (x) (4.24) 1 (b) N donde µ = β−y . Por otro lado, sean {y1,j }N j=0 e {y2,j }j=0 las respectivas soluciones numéricas de y2 (b) P1 y P2; entonces, la soloción numérica para el p.v.f. viene definida por: yj = y1,j + µ(h)y2,j donde µ(h) = β−y1,N y2,N j = 1, . . . , N (4.25) , Teorema 4.1 Supongamos que se ha usado un método de orden p ≥ 1; entonces, para h <<, la solución numérica (??) verifica: |ej = (yj − y(xj ))| ≈ O(hp ) j = 1, . . . N es decir, la solución numérica tiene orden de convergencia p ≥ 1. Demostración Puesto que se ha usado un método de orden p ≥ 1, para j = 1, . . . , N , xj = a + jh, y h = se verifica: |ei,j = (yi,j − yi (xj ))| ≈ O(hp ) i = 1, 2 entonces, restando (??) y (??) (en xj ), se cumple: ej = e1,j + µ(h)y2,j − µy2 (xj ) = e1,j + µ(h)e2,j + (µ(h) − µ)y2 (xj ) ⇒ ⇒ |ej | ≤ |e1,j | + |µ(h)||e2,j | + |µ(h) − µ||y2 (xj )| ≈ O(hp ) pues es fácil probar que |µ(h) − µ| ≈ O(hp ). b−a ; N Apuntes de J. Lorente 11 Caso no lineal. Para el caso no lineal, el comportamiento del método de tiro depende no sólo del método usado en el p.v.i. asociado sino también del método usado en la corrección del tiro (secante, Newton, etc...). Ası́, los resultados sobre el error son más sofisticados (ver H.B. Keller: ”Numerical Methods for ..... B.V.P)”; a saber, Proposición 4.1 Sean y(x, z) e {yj,z }N j=0 las soluciones exacta y numérica de (4.6) respectivamente. Supongamos que el método usado en la solución numérica es convergente de orden p ≥ 1; entonces, para tiros cualesquiera s, t, e y(x; z) suficientemente suave se verifca: |yj,t − y(xj ; s)| ≤ O(hp ) + O(|t − s|) j = 1, . . . , N Teorema 4.2 Sea f (x, y, y 0 ) verificando las condiciones de existencia y unicidad. Sea {yj,z }N j=0 una sulución numérica de orden p ≥ 1 del p.v.i. con tiro z. Supongamos que se obtienen tiros sucesivos {zk }k=0,... mediante iteraciones de la forma zk+1 = zk − mΦ∗ (zk ) k = 0, . . . ; entonces, ∀m con 0 < m < Γ2 existe λ = λ(m) ∈]0, 1[ tal que: |yj,zk − y(xj )| ≤ O(hp ) + O(λk ) j = 0, . . . , N, k = 0, . . . donde se ha usado la notación: p µ(b−a) ∂f ∂f Γ = e 2σ eσ(b−a) − e−σ(b−a) , µ = M/2, σ = µ2 + N , | ∂y 0 | ≤ M, ∂y ≤ N 4.4.2. Método de diferencias finitas centradas. Vamos a analizar el método (4.17) ó (4.18) respecto de su convergencia y orden. A tal fin, definimos el error de truncatura local por: y(xn+1 ) − y(xn−1 ) 2 Rn (x) = y(xn−1 ) − 2y(xn ) + y(xn+1 ) − h f xn , y(xn ), (4.26) 2h Ası́, diremos que el método (4.17) es de orden p ≥ 1 si Rn (x) ≈ O(hp+2 ). En particular, el método es consistente con el p.v.f. si es de orden al menos 1. Pasamos, pues, a estudiar algunas situaciones particulares. Caso lineal. Usando (??) para el problema lineal (4.8) y teniendo en cuenta (4.15)-(4.16), obtenemos el error de truncatura local de (4.18): Rn (x) = h4 iv) y (θn ) − 2p(x)y 000 (ξn ) n = 1, . . . , N 12 (4.27) 12 Métodos para PVF. Un análisis de errores desde la forma escalar del método permite probar el resultado siguiente: Teorema 4.3 Consideramos el método de diferencias centradas (4.18) para el p.v.f. (4.8) verificando: p, q, r son funciones continuas en [a, b]; q(x) ≥ q∗ > 0 en [a, b]; p∗ = máx{|p(x)|} en [a, b] entonces; si en = y(xn ) − yn es el error en el nodo xn , se verifica: |en | ≤ h2 (M4 + 2p∗ M3 ) 12q∗ donde Mj = max{|y j) (x)|} con j = 3, 4. Demostración. La solución numérica, {yn }N n=0 , y la exacta y(x) del p.v.f. satisfacen (para n = 1, . . . , N ): an yn−1 − bn yn + cn yn+1 = h2 rn an y(xn−1 ) − bn y(xn ) + cn y(xn+1 ) = h2 rn + Rn (4.28) (4.29) con an = 1 + h2 pn , bn = 2 + h2 qn , cn = 1 − h2 pn y Rn está dado por (??). Ası́, los errores en , cumplen: an en−1 − bn en + cn en+1 = Rn n = 1, . . . , N (4.30) Ahora, si |ek | = max{|en | : n = 1, . . . , N } (recuerde que e0 = eN +1 ); entonces: |bk ||ek | ≤ |ak ||ek−1 | + |ck ||ek+1 | + |Rk | ≤ (para h < 2/p∗ ) ≤ (ak + ck )|ek | + máx{|Rk |} ⇒ ⇒ (bk − ak − ck )|ek | = h2 qk |ek | ≤ máx{|Rk |} ⇒ ⇒ |en | ≤ |ek | ≤ máx{|Rk |} h4 (máx{|y iv (x)|} + 2p∗ máx{|y 000 (x)|}) h2 ≤ = (M4 + 2p∗ M3 ) h2 qk 12h2 q∗ 12q∗ C.Q.D. Mediante un análisis matricial (ver Stoer-Bulirsch: ”Introduction to Numerical Analysis”) adecuado se puede probar: Proposición 4.2 En el método (4.18) con p(x) ≡ 0 la solución numérica obtenida satisface: |y(xn ) − yn | ≤ h2 (xn − a)(b − xn ) 24 Apuntes de J. Lorente 13 Caso No lineal. Ahora, siguiendo una metodologı́a similar al caso lineal se tienen las propiedades siguientes: Proposición 4.3 El método de D.F. Centradas para el problema general (4.5), que satisface las condiciones adecuadas, cumple: 1. El error de truncatura local es: h4 ∂f (xn , y(xn ), y 0 (µn )) 000 iv) Rn (x) = y (θn ) − 2 y (ξn ) n = 1, . . . , N 12 ∂y 0 2. Los errores satifacen las desigualdades: ||E|| ≈ O(h2 ) ∂f si y(x) es de clase 4 en [a, b], p∗ = max{ ∂y 0 } y 0 < q∗ ≤ |en | ≤ ∂f ; ∂y entonces, h2 (M4 + 2p∗ M3 ) 12q∗ 3. Si el p.v.f. es de la forma: y 00 = f (x, y); entonces: |y(xn ) − yn | ≤ h2 (xn − a)(b − xn ) n = 0, 1, . . . , N + 1 24