53
CÁLCULO NUMÉRICO ApuntsFME Barcelona, Enero 2019

CÁLCULO NUMÉRICO · ii Autores:ÒscarBenedito,ErnestoLanchares. La elaboración de este documento no habría sido posible sin los apuntes de Carlota Corrales. Últimamodificación:13deenerode2019

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • CÁLCULO NUMÉRICO

    1

    ApuntsFMEBarcelona, Enero 2019

  • ii

    Autores: Òscar Benedito, Ernesto Lanchares.

    La elaboración de este documento no habría sido posible sin los apuntes de CarlotaCorrales.

    Última modificación: 13 de enero de 2019.

    This work is licensed under a Creative Commons“Attribution-NonCommercial-ShareAlike 4.0 Internatio-nal” license.

    https://creativecommons.org/licenses/by-nc-sa/4.0/deed.enhttps://creativecommons.org/licenses/by-nc-sa/4.0/deed.enhttps://creativecommons.org/licenses/by-nc-sa/4.0/deed.enhttps://creativecommons.org/licenses/by-nc-sa/4.0/deed.en

  • Contenidos

    1. Ceros de funciones 11.1. Métodos clásicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1. Método de la bisección . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2. Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.3. Método de la secante . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2. Consistencia y convergencia . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.1. Análisis del método de Newton . . . . . . . . . . . . . . . . . . . 51.2.2. Gráficos de convergencia . . . . . . . . . . . . . . . . . . . . . . . 61.2.3. Criterios prácticos de convergencia . . . . . . . . . . . . . . . . . 6

    1.3. Métodos híbridos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2. Sistemas de ecuaciones no lineales 92.1. Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . 92.2. Métodos casi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.2.1. Método de Broyden . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    3. Aproximación funcional 113.1. Interpolación polinómica . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    Teorema del residuo de Lagrange . . . . . . . . . . . . . . . . . . . . . . 133.2. Interpolación de Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    3.2.1. Splines lineals (m = 1) C 0 . . . . . . . . . . . . . . . . . . . . . . 143.2.2. Splines cuadráticos (m = 2) C 1 . . . . . . . . . . . . . . . . . . . 143.2.3. Splines cúbicos (m = 3) C 1 . . . . . . . . . . . . . . . . . . . . . 153.2.4. Splines cúbicos (m = 3) C 2 . . . . . . . . . . . . . . . . . . . . . 16Teorema de la suavidad del Spline natural . . . . . . . . . . . . . . . . . 17

    3.3. Mínimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3.1. Ecuaciones normales (caso lineal) . . . . . . . . . . . . . . . . . . 183.3.2. Aproximación per mínimos cuadrados con polinomios . . . . . . . 19

    4. Integración numérica 214.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.2. Cuadratura de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . 21

    4.2.1. Fórmula del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . 224.2.2. Cuadratura de Simpson . . . . . . . . . . . . . . . . . . . . . . . 24

    4.3. Cuadraturas de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.4. Cuadraturas compuestas . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.4.1. Compuesta del trapecio . . . . . . . . . . . . . . . . . . . . . . . 274.4.2. Compuesta de Simpson . . . . . . . . . . . . . . . . . . . . . . . . 27

    iii

  • iv CONTENIDOS

    4.4.3. Error de las cuadraturas cerradas de Newton-Cotes . . . . . . . . 284.5. Integración múltiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    5. Métodos numéricos para EDOs 315.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.2. Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.3. Método de Euler hacia atrás . . . . . . . . . . . . . . . . . . . . . . . . . 325.4. Método de diferencias centradas . . . . . . . . . . . . . . . . . . . . . . . 335.5. Error local, global y orden de convergencia . . . . . . . . . . . . . . . . . 335.6. Análisis de la estabilidad de los métodos numéricos para EDOs . . . . . . 34

    5.6.1. Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.6.2. Método de Euler hacia atrás . . . . . . . . . . . . . . . . . . . . . 355.6.3. Método de las diferencias centradas . . . . . . . . . . . . . . . . . 36

    5.7. Métodos de Runge-kutta . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.7.1. Método de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.7.2. Métodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . 37

    6. Introducción a los métodos numéricos para EDPs 416.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    6.1.1. Ecuación parabólica . . . . . . . . . . . . . . . . . . . . . . . . . 416.2. Condiciones de contorno de Neumann: nodos ficticios . . . . . . . . . . . 446.3. Otras EDPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    Índice alfabético 49

  • Tema 1

    Ceros de funciones

    Los métodos numéricos nos proporcionan aproximaciones succesivas de una raíz (α)de una función. Comenzaremos con una aproximación inicial x0 y el método nos propor-cionará x1. Más generalmente, dado un xk, el método nos proporcionará xk+1.

    1.1. Métodos clásicos

    1.1.1. Método de la bisección

    El método está basado en el teorema de Bolzano. Consiste en tomar un intervalo(a, b) con f(a)f(b) < 0. Una vez encontrado este intervalo inicial, vamos dividiendosucesivamente el intervalo por la mitad y tomando el subintervalo que cumpla la condiciónde que sus extremos tengan distinto signo. Reduciendo el error a la mitad.

    Este método tiene la ventaja de ser muy robusto y nos permite calcular la raíz conuna percisión arbitraria. El inconveniente principal de este método es la velocidad: es unmétodo muy lento.

    1.1.2. Método de Newton

    Dada una aproximación de la raíz xk, calcularemos la siguiente aproximación xk+1como el cero de la recta tangente a f en xk, es decir, aproximaremos f(x) ≈ f

    (xk)

    +f ′(xk) (x− xk

    )y xk+1 será el 0 de esta función aproximada:

    xk+1 = xk −f(xk)

    f ′(xk) .

    La ventaja de este método es la velocidad (tiene convergencia cuadrática para raícessimples). El inconveniente principal es que no es tan robusto: necesita una aproximacióninicial suficientemente buena. Además, este método requiere de conocer la derivada f ′(x),lo cual puede ser costoso o imposible.

    1

  • 2 TEMA 1. CEROS DE FUNCIONES

    0,6 0,8 1 1,2 1,4 1,6 1,8 2

    −0,4

    −0,2

    0,2

    0,4

    x0x1

    α

    1.1.3. Método de la secanteEste método parte de dos aproximaciones iniciales x0 y x1, tomaremos x2 como el

    cero de la recta que pasa por x0 y x1 (substituye la derivada por la recta secante). Esdecir, dados xk y xk−1,

    xk+1 = xk − f(xk) xk − xk−1f(xk)− f

    (xk−1

    ) .Las ventajas e inconvenientes de este método son casi idénticas a las del método de

    Newton. Este método es un poco más lento que el de Newton, aunque converge bastanterápidamente y, igual que el de Newton, el punto flaco es que no es tan robusto como elde la bisección.

    0,5 1 1,5 2

    −0,4

    −0,2

    0,2

    0,4

    x0

    x1x2α

    Observación 1.1.1. El coste computacional se mide en número de evaluaciones de f(x)(y de f ′(x)). El método de la secante necesita 1 evaluación por iteración y por lo tanto,necesita menos que el método de Newton.

    1.2. Consistencia y convergenciaDefinición 1.2.1. Diremos que un método xk+1 = φ

    (xk)es consistente si las raíces son

    los únicos puntos fijos, es decir,

    φ(x) = x ⇐⇒ f(x) = 0.

  • 1.2. CONSISTENCIA Y CONVERGENCIA 3

    Ejercicio 1.2.2. Un ejemplo es el método de Newton. Si α es una raíz simple,

    f(α) = 0 =⇒ φ(α) = α− f(α)f ′(α) = α.

    Por otro lado,φ(α) = α =⇒ f(α)

    f ′(α) = 0 =⇒ f(α) = 0.

    Con la raíz doble, no podemos evaluar el método de Newton en α, pero por la regla del’Hôpital llegaríamos a la conclusión de que, tomando el límite de φ se sigue cumpliendo.

    Análogamente, podemos deducir que el método de Newton es un método consistentepara una raíz α de cualquier multiplicidad.

    Definición 1.2.3. Diremos que un esquema es convergente si

    ĺımk→∞

    xk = α.

    Definición 1.2.4. Llamaremos error absoluto de la aproximación a

    Ek =∣∣∣xk − α∣∣∣

    y es equivalente que el método sea convergente a que ĺımk→∞

    Ek = 0.

    Definición 1.2.5. Diremos que un esquema tiene convergencia lineal si∣∣∣Ek+1∣∣∣ ≤ λ∣∣∣Ek∣∣∣ , λ < 1.Definición 1.2.6. Diremos que un esquema tiene convergencia de orden p si∣∣∣Ek+1∣∣∣ ≤ λ∣∣∣Ek∣∣∣p .Definición 1.2.7. Diremos que un esquema tiene convergencia superlineal si∣∣∣Ek+1∣∣∣ ≤ λk∣∣∣Ek∣∣∣ , λk → 0

    o bien∣∣∣Ek+1∣∣∣ ≤ λ∣∣∣Ek∣∣∣q , q ∈ (1, 2).Proposición 1.2.8. Para estudiar la convergencia, en general, necesitamos estudiar Ek+1en función de Ek. Para ello, podemos usar la siguiente fórmula:

    Ek+1 = φ′(α)Ek + 12φ′′(α)

    (Ek)2

    + . . .

    o más generalmenteEk+1 =

    ∞∑i=1

    1i!φ

    (i)(α)(Ek)i.

    Demostración. Tenemos que

    Ek+1 = xk+1 − α = φ(xk)− φ(α).

    Aproximando ahora por Taylor (centrado en α):

    Ek+1 =����−φ(α) +���φ(α) + φ′(α)(xk − α) + . . .

    substituyendo ahora xk − α = Ek, obtenemos la fórmula original. �

  • 4 TEMA 1. CEROS DE FUNCIONES

    Proposición 1.2.9. Si φ′(α) 6= 0 y ∣∣φ′(α)∣∣ < 1, entonces el método converge linealmente.Demostración. Veremos ahora que la convergencia es lineal:

    ∣∣∣Ek+1∣∣∣ ≤ ∣∣∣Ek∣∣∣∣∣∣φ′(α)∣∣∣+∣∣∣∣∣12φ′′(α)

    ∣∣∣∣∣Ek +O((Ek)2)

    ︸ ︷︷ ︸≤ε

    .

    Consideramos ε tal que∣∣φ′(α)∣∣ + ε ≤ 1. Esto pasa si ∣∣∣Ek∣∣∣ es suficientemente pequeño.

    Entonces ∣∣∣Ek+1∣∣∣ ≤ λ∣∣∣Ek∣∣∣ ,con λ = |φ′|+ ε < 1. �

    Proposición 1.2.10. Si φ′(α) = · · · = φ(p−1)(α) = 0 y φ(p)(α) 6= 0. Tenemos que

    Ek+1 = 1p!φ

    (p)(α)(Ek)p

    + 1(p+ 1)!φ(p+1)(α)

    (Ek)p+1

    + . . .

    Entonces, para Ek pequeño, se tiene que

    ∣∣∣Ek+1∣∣∣ ≈∣∣∣∣∣∣φ

    (p)(α)p!

    ∣∣∣∣∣∣(Ek)p.

    y la convergencia es de orden p.

    Demostración. Se tiene que

    ∣∣∣Ek+1∣∣∣ ≤ ∣∣∣Ek∣∣∣p∣∣∣∣∣∣φ

    (p)(α)p!

    ∣∣∣∣∣∣+∣∣∣∣∣∣φ

    (p+1)(α)(p+ 1)!

    ∣∣∣∣∣∣(Ek)

    +O((Ek)2)

    ︸ ︷︷ ︸≤ε

    .

    Con∣∣∣Ek∣∣∣ suficientemente pequeño

    ∣∣∣Ek+1∣∣∣ ≤ ∣∣∣Ek∣∣∣pφ(p)(α)

    p! + ε

    ︸ ︷︷ ︸λ

    .

    Definición 1.2.11. Sea φ un método lineal, es decir,∣∣∣Ek+1∣∣∣ ≤ λ∣∣∣Ek∣∣∣ .Llamaremos factor asintótico de convergencia a λ.

  • 1.2. CONSISTENCIA Y CONVERGENCIA 5

    1.2.1. Análisis del método de Newton

    Para estudiar la convergencia, primero es conveniente, conocer las derivadas de lafunción φ, así pues, tenemos

    φ(x) = x− f(x)f ′(x) ,

    φ′(x) = f(x)f′′(x)

    f ′(x)2 ,

    φ′′(x) = f′′(x)f ′(x) −

    2f(x)f ′′(x)2f ′(x)3 +

    f(x)f ′′′(x)f ′(x)2 .

    Caso de una raíz simple, f(α) = 0 y f ′(α) 6= 0. En este caso,

    φ′(α) = 0,

    φ′′(α) = f′′(α)f ′(α) .

    En general φ′′(α) 6= 0, por lo tanto el método de Newton tiene, en general, conver-gencia de orden 2.

    Caso de una raíz doble f(α) = f ′(α) = 0 y f ′′(α) 6= 0. Observamos que φ′(α) noestá bien definido, pero podemos calcular el límite, teniendo

    ĺımx→αφ

    ′(x) = ĺımx→α

    f(x)f ′′(x)f ′(x)2

    R.H.= ĺımx→α

    f ′(x)f ′′(x) + f(x)f ′′′(x)2f ′(x)f ′′(x) =

    = ĺımx→α

    f ′(x)f ′′(x)2f ′(x)f ′′(x) +

    f(x)f ′′′(x)2f ′(x)f ′′(x) =

    12 + ĺımx→α

    f(x)f ′′′(x)2f ′(x)f ′′(x)

    R.H.=

    = 12 + ĺımx→αf ′(x)f ′′′(x) + f(x)f (4)(x)2f ′′(x)2 + 2f ′(x)f ′′′(x) =

    12 .

    Por lo tanto es lineal con factor asintótico de convergencia igual a 12 .

    El caso de multiplicidad p, es decir, f(α) = · · · = f (p−1)(α) = 0 y f (p) 6= 0. Pararesolver este caso, aplicaremos 2p− 2 veces la regla de l’Hôpital

    ĺımx→αφ

    ′(x) = ĺımx→α

    f(x)f ′′(x)f ′(x)f ′(x)

    Leibniz=RH

    ĺımx→α

    2p−2∑k=0

    (2p−2k

    )f (2p−k)(x)f (k)

    2p−2∑k=0

    (2p−2k

    )f (2p−1−k)(x)f (k+1)(x)

    =

    = ĺımx→α

    (2p−2p

    )(((

    (((((

    f (p)(x)f (p)(x)(2p−2p−1

    )((((

    ((((f (p)(x)f (p)(x)=

    (2p−2p

    )(

    2p−2p−1

    ) = (p− 1)!(p− 1)!p!(p− 2)! =

    = p− 1p

    = 1− 1p.

    El método es lineal con F.A.C. igual a 1− 1p.

  • 6 TEMA 1. CEROS DE FUNCIONES

    1.2.2. Gráficos de convergenciaDefinición 1.2.12. Definimos el error relativo como

    rk = Ek

    α= x

    k − αα

    .

    Observación 1.2.13. xk tiene q cifras significativas correctas si∣∣∣rk∣∣∣ ≤ 1210−q.

    Caso de convergencia lineal∣∣∣Ek+1∣∣∣ ≈ λ∣∣∣Ek∣∣∣ , λ = F.A.C. xk+1=φ(xk)= ∣∣∣φ′(α)∣∣∣ ,∣∣∣Ek∣∣∣|α| ≈ λ

    k

    ∣∣∣E0∣∣∣|α| =⇒

    ∣∣∣rk∣∣∣ ≈ λk∣∣∣r0∣∣∣ .Si la convergencia es de orden p ≥ 2,∣∣∣Ek∣∣∣ ≈ λ∣∣∣Ek−1∣∣∣p ≈ λ(λ∣∣∣Ek−2∣∣∣p)p = λp+1∣∣∣Ek−2∣∣∣p2 ≈ λp+1 (λ∣∣∣Ek−3∣∣∣p)p2 = . . .

    ≈ λ1+p+···+pk−1∣∣∣E0∣∣∣pk serie geométrica= λ pk−1p−1 ∣∣∣E0∣∣∣pk , =⇒∣∣∣Ek∣∣∣

    |α| ≈ λpk−1p−1

    ∣∣∣E0∣∣∣pk|α|pk

    |α|pk−1 , =⇒∣∣∣rk∣∣∣ ≈ Apk ·B, =⇒log∣∣∣rk∣∣∣ ≈ logB + pk logA,

    donde A = λ1p−1∣∣∣r0∣∣∣|α|, B = λ −1p−1 |α|−1.

    Ejemplo 1.2.14. El error nos proporciona información sobre el tipo de convergencia.Bisección

    (lineal λ = 1/2)Newton

    (cuadrática)|r0| 0, 1 · 10−1 0, 1 · 10−1|r1| 0, 5 · 10−2 0, 1 · 10−2|r2| 0, 25 · 10−2 0, 1 · 10−4|r3| 0, 12 · 10−2 0, 1 · 10−8

    1.2.3. Criterios prácticos de convergenciaSi queremos q cifras significativas correctas (C.S.C.), pararemos el algoritmo cuando

    1210

    −q >∣∣∣rk∣∣∣ =

    ∣∣∣xk − α∣∣∣|α|

    α≈xk+1≈∣∣∣xk − xk+1∣∣∣∣∣∣xk+1∣∣∣ .

    En caso que α ≈ 0, podemos hacer una variación∣∣∣xk − α∣∣∣ < ε∣∣∣xk∣∣∣+ ε.Conviene comprobar el error en el “residuo” f (x). El criterio puede ser combinado∣∣∣xk − α∣∣∣+∣∣∣∣f (xk)∣∣∣∣ < εf .

  • 1.3. MÉTODOS HÍBRIDOS 7

    1.3. Métodos híbridosMétodo de Brent: véase Brent’s method - Wikipedia.

    https://en.wikipedia.org/wiki/Brent%27s_method

  • 8 TEMA 1. CEROS DE FUNCIONES

  • Tema 2

    Sistemas de ecuaciones no lineales

    Dada ~f : Rn → Rn, queremos encontrar ~α ∈ Rn tal que ~f (~α) = ~0.

    2.1. Método de Newton-RaphsonDada una aproximación ~xk ≈ ~α, consideramos l’aproximación lineal de ~f (~x) en ~xk

    ~f (~x) ≈ ~f(~xk)

    + ∂~f

    ∂~x

    (~x− ~xk

    )+���

    �����O

    (‖~x− xk‖2

    ).

    Como sabemos que ~f (~α), entonces:

    ~f (~α) ≈ ~f(~xk)

    + ∂~f

    ∂~x

    (~α− ~xk

    )= 0,

    ~α ≈ ~xk+1 = ~xk −∂ ~f∂~x

    (xk)−1 ~f (~xk) ,

    donde J = ∂ ~f∂~x

    es la jacobiana. Se puede ver que tiene convergencia cuadrática (de orden2) si det

    (J(α)

    ) 6= 0.Observación 2.1.1. No calcularemos J−1 (porqué es aproximadamente el coste de re-solver n sistemas lineales). Calculamos:

    i) J(~xk)

    ∆~xk = −~f(~xk)−→ ∆~xk,

    ii) ~xk+1 = ~xk + ∆~xk.

    En Matlab, x = x - (J\f) resuelve el sistema.

    ¿Qué hacemos si no podemos calcular J = ∂ ~f∂~x? Aproximación de las derivadas:

    ∂ ~f

    ∂xi

    (~xk)≈

    ~f(~xk + h~ei

    )− ~f

    (~xk)

    hcon h pequeña,

    J = ∂~f

    ∂~x= ∂ ~f∂x1

    , . . . ,∂ ~f

    ∂xn

    .Observación 2.1.2. Si Newton converge pero no con convergencia cuadrática, hay quecomprobar que J = ∂ ~f

    ∂~xen la implementación.

    9

  • 10 TEMA 2. SISTEMAS DE ECUACIONES NO LINEALES

    2.2. Métodos casi-NewtonSi no podemos calcular J = ∂ ~f

    ∂~x, también podemos usar métodos casi-Newton.

    ~xk+1 = ~xk −[Sk]−1 ~f (~xk), donde Sk ≈ J (~xk).

    Sk se calcula a partir de Sk−1, con la ecuación secante(Sk∆~xk = ∆~fk

    ):∆~x

    k = ~xk − ~xk−1,∆~fk = ~f

    (~xk)− ~f

    (~xk−1

    ).

    Observación 2.2.1. En una dimensión, es el método de la secante. Sk(xk − xk−1

    )=

    fk − fk−1, por lo tantoSk = f

    k − fk−1xk − xk−1 .

    En n dimensiones, la ecuación secante no determina de manera única Sk. Se añaden otrascondiciones que generan muchos métodos casi-Newton.

    2.2.1. Método de BroydenEl método de Broyden es un método casi-Newton que impone

    i) Sk∆~xk = ∆fk (ecuación secante),

    ii)(Sk − Sk−1

    )~ω = ~0, ∀~ω⊥∆~xk.

    Podemos conseguir ii) con Sk = Sk−1 + ~u(∆~xk

    )T. Ahora imponemos i)

    ∆fk = Sk∆~xk =(Sk−1 + ~u

    (∆~xk

    )T)∆~xk = −~fk−1 + ~u

    ∥∥∥∆~xk∥∥∥2 ,de donde aislamos

    ~u∥∥∥∆~xk∥∥∥2 = ∆~fk + ~fk−1 = ~fk =⇒ ~u = ~fk∥∥∥∆~xk∥∥∥2 .

    En resumen,

    Dado ~x0 ∈ Rn, S0 ∈ Rn×n, (S0 = Id ó S0 = J(~x0)aproximación lineal),

    Calcular ~f 0 = ~f(~x0),

    Para k = 0, 1, . . . ,

    • Resolver Sk∆~xk+1 = −fk −→ ∆~xk+1,• ~xk+1 = xk + ∆xk+1,• Calcular ~fk+1 = ~f

    (~xk+1

    ),

    • Sk+1 = Sk + ~fk+1(

    ∆~xk+1

    ‖∆~xk+1‖2)T

    .

  • Tema 3

    Aproximación funcional

    Podemos tener los siguientes datos:

    f (x) analíticamente o evaluable,

    {fi}ni=0 valor de f en n+ 1 puntos {xi}ni=0,

    {fi}ni=0 , {f ′i}ni=0 , . . . ,

    Espai d’aproximació V (espai vectorial).

    El objetivo es determinar p ∈ V t. q. p (x) ≈ f (x) (V es el tipo de aproximación y ≈ elcriterio de aproximación). Tanto si los datos son discretos como si son continuos, podemosdecidir diferentes criterios y tipos de aproximación.

    Tipos de aproximación:

    Polinómica: f (x) ≈ pn (x) ∈ Pn, n fixat.

    Trigonométrica: f (x) ≈n∑k=1

    ak sin (nkL) + bk cos (nkL).

    Splines: Polinomios a trozos.

    Criterios de aproximación:

    Interpolación: p (xi) = f (xi) , i = 0, . . . , n.

    Mínimos cuadrados: p = arg mı́nq∈V‖f−q‖2, por ejemplo, ‖f−p‖2 =

    n∑i=0

    (fi − p (xi)

    )2.Min-max.

    3.1. Interpolación polinómicaTeorema 3.1.1. Dados n+ 1 puntos {xi}ni=0 diferentes y n+ 1 valores {fi}

    ni=0, existe un

    único polinomio pn (x) de grado ≤ n tal que pn (xi) = fi, i = 0, . . . , n.

    11

  • 12 TEMA 3. APROXIMACIÓN FUNCIONAL

    Demostración. Consideramos pn (x) = a0 + a1x+ · · ·+ anxn (en la base natural) e impo-nemos fi = pn (xi) = a0 + a1xi + · · ·+ anxni , i = 0, . . . , n.

    1 x0 . . . xn0... ... ...1 xn . . . xnn

    ︸ ︷︷ ︸

    A

    a0...an

    =f0...fn

    .

    A es una matriz de Vandermonde, det (A) = ∏1≤i

  • 3.1. INTERPOLACIÓN POLINÓMICA 13

    Definición 3.1.5. Definimos el polinomio interpolador de Lagrange como

    f (x) ≈ pn (x) =n∑j=0

    fjLj (x) , donde Lj =

    ∏k 6=j

    (x− xk)∏k 6=j

    (xj − xk

    ) ∈ Pn.Ejemplo 3.1.6. f (x) ≈ p2 (x) = f0L0 (x) + f1L1 (x) + f2L2 (x), sabiendo que x0 = 0,x1 = 0, 5 y x2 = 1.

    L0 (x) =(x− 0, 5) (x− 1)(0− 0, 5) (0− 1) = 2 (x− 0, 5) (x− 1) ,

    L1 (x) =(x− 0) (x− 1)

    (0, 5− 0) (0, 5− 1) = (−4)x (x− 1) ,

    L2 (x) = 2x (x− 0, 5) .Teorema 3.1.7. Teorema del residuo de Lagrange.Dada f ∈ C n+1 i {xi}ni=0, el polinomio interpolador pn (x) ∈ Pn tal que pn (xi) =f (xi) , i = 0, . . . , n. Tiene error

    f (x) = pn (x) +f (n+1)

    (µ (x)

    )(n+ 1)! L (x) , donde

    L (x) = (x− x0) . . . (x− xn) ,µ (x) ∈ [x0, xn;x] .Demostración. Observamos que es cierto cuando x = xi (uno de los puntos base):

    f (xi)− pn (xi)︸ ︷︷ ︸=0

    −fn+1 (µ)

    (n+ 1)! L (xi)︸ ︷︷ ︸=0

    = 0− 0 = 0.

    Consideramos ahora x̂ 6= xi,∀i (fijado) y g (x) = f (x) − pn (x) − k (x̂)L (x), dondeescogemos k tal que g (x̂) = 0

    (k (x̂) = f(x̂)−p(x̂)

    L(x̂)

    ).

    Entonces g (x) tiene n+ 2 ceros diferentes:x̂ es un cero,{xi}ni=0 son n ceros.Por tanto g′ (x) tiene almenos n+ 1 ceros (por el teorema de Rolle), g′′ (x) tiene almenosn ceros, . . . , g(n+1) (x) tiene almenos 1 cero. Llamemosle µ (x̂) = µ,

    g(n+1) (µ) = f (n+1) (µ)− k (x̂) (n+ 1)! = 0.Sabiendo que k (x̂) = f(x̂)−p(x̂)

    L(x̂) , tenemos que

    f (n+1) (µ)− f (x̂)− p (x̂)L (x̂) (n+ 1)! = 0 =⇒ · · · =⇒

    =⇒ f (x̂) = pn (x̂) +f (n+1)

    (µ (x̂)

    )(n+ 1)! L (x̂) , ∀x̂.

    Observación 3.1.8. La paradoja de Runge. Uno de los problemas que la aproximaciónfuncional presenta es la “paradoja de Runge”. Sea f (x) = 11+25x2 , la interpolación conn + 1 puntos equiespaciados empeora cuando n crece. Si n es muy grande (hay muchosdatos), es necesario hacer un cambio de criterio (mínimos cuadrados) o cambiar de tipo(Splines).

  • 14 TEMA 3. APROXIMACIÓN FUNCIONAL

    3.2. Interpolación de SplinesProposición 3.2.1. Dados unos puntos base {xi}ni=0, un grado m y una continuidad C q,consideramos

    ES :={S (x) ∈ C q ([x0, xn]) t. q. S|[xi,xi+1]0≤i

  • 3.2. INTERPOLACIÓN DE SPLINES 15

    3.2.3. Splines cúbicos (m = 3) C 1

    Si (x) = ai (x− xi)3 + bi (x− xi)2 + ci (x− xi) + di, ¿cuánto vale dim (ES)?#coeficientes = 4n

    − #condiciones = 2 (n− 1)dim (ES) = 2n+ 2.

    Para determinar un Spline necesitamos 2(n+ 1) datos: {fi}ni=0 y {f ′i}ni=0.

    Observación 3.2.3. Si solo tenemos {fi}ni=0, podemos calcular aproximaciones

    f ′i =fi+1 − fi−1

    2h ≈ f′ (xi)

    si los puntos son equiespaciados. Si los puntos no son equiespaciados hay que deducir unaforma diferente.

    Cálculo de una Spline:

    fi = Si (xi) = di,fi+1 = Si (xi+1) = aih3i + bih2i + cihi + di,f ′i = S ′i (xi) = ci,

    f ′i+1 = S ′i (xi+1) = 3aih2i + 2bihi + ci,

    con hi = xi+1 − xi. Si aislamos, obtenemos

    ai =hi(f ′i + f ′i+1

    )− 2ti

    h3i,

    bi =3ti − hi

    (2f ′i + f ′i+1

    )h2i

    ,

    ci = f ′i ,di = fi,

    con hi = xi+1 − xi y ti = fi+1 − fi.La base que nos interesa para los Splines cúbicos C 1 es la base

    {Φi}ni=0 ∪{

    Φ̃i}ni=0

    t. q. S (x) =n∑i=0

    fiΦi (x) +n∑i=0

    f ′iΦ̃i (x) .

    Tenemos que

    fj = S(xj)

    =n∑i=0

    fiΦi(xj)

    +n∑i=0

    f ′iΦ̃i(xj)

    f ′j = S ′(xj)

    =n∑i=0

    fiΦ′i(xj)

    +n∑i=0

    f ′iΦ̃′i(xj) =⇒

    =⇒

    Φi(xj)

    = δij, Φ̃i(xj)

    = 0 ∀i, jΦ′i(xj)

    = 0 ∀i, j, Φ̃′i(xj)

    = δij.

    Por lo tanto, las funciones de la base deberán cumplir

    Φi ={fi = 1, fj = 0 ∀j 6= i, f ′j = 0 ∀j

    },

    Φ̃i ={fi = 0 ∀i, f ′i = 1, f ′j = 0 ∀j 6= i

    }.

  • 16 TEMA 3. APROXIMACIÓN FUNCIONAL

    Observación 3.2.4. Es una base local, lo cual es bueno para mínimos cuadrados, EDPs,una matriz con muchos valores nulos, etc. ya que hay una dependencia local de S (x) conlos datos.

    3.2.4. Splines cúbicos (m = 3) C 2

    Si (x) = ai (x− xi)3 + bi (x− xi)2 + ci (x− xi) + di, ¿cuánto vale dim (ES)?

    #coeficientes = 4n− #condiciones = 3 (n− 1) (continuidad de S, S ′ y S ′′ en {xi}n−1i=1 )

    dim (ES) = n+ 3.

    Tenemos n+1 valores de la función, y hay que añadir 2 condiciones adicionales. Estaspueden ser:

    Spline natural (el más “suave” posible): f ′′0 = 0, f ′′n = 0.

    S ′ (x0) = f ′0, S ′ (xn) = f ′n.

    Formulación con derivadas: expresamos el Spline en función de {fi}ni=0 (conocido) yde las derivadas {S ′i}ni=0 (no conocido).

    ai = ai(fi, fi+1, S

    ′i, S′i+1

    )bi = bi

    (fi, fi+1, S

    ′i, S′i+1

    )ci = ci

    (fi, fi+1, S

    ′i, S′i+1

    )di = di

    (fi, fi+1, S

    ′i, S′i+1

    )

    Con la formula del Spline cúbico C 1 tenemos continuidad de S(x) y de S ′(x). Esco-geremos {S ′i}ni=0 para tener continuidad de S ′′(x):

    S ′′i−1(xi, S

    ′i−1, S

    ′i

    )= S ′′i

    (xi, S

    ′i, S′i+1

    ), i = 1, . . . , n− 1

    Es decir,

    λ1 2 µ1

    λ2 2 µ2. . . . . . . . .

    λn−1 2 µn−1

    S ′0......S ′n

    =

    ei......

    en−1

    ,λi = hihi−1+hiµi = hi−1hi−1+hiei = 3hi−1+hi

    (hihi−1

    ti−1 + hi−1hi ti).

    Para tener un sistema compatible determinado nos faltan dos datos adicionales:

    Podemos imponer

    S ′ (x0) = f ′0 = S ′0,S ′ (xn) = f ′n = S ′n.

  • 3.2. INTERPOLACIÓN DE SPLINES 17

    También podemos imponer S ′′ (x0) = S ′′ (xn) = 0 para obtener un Spline natural(curvatura inicial y final nula).

    i) 0 = S ′′ (x0) = S ′′0 (x0) = 6a0 (x0 − x0) + 2b0 = b0(S ′0, S ′1) = 0,3t0 − h0 (2S ′0 + S ′1) = 0.

    ii) 0 = S ′′n−1 (xn) = an−1 (xn − xn−1)︸ ︷︷ ︸hn−1

    +bn−1.

    Nos queda una ecuación en función de S ′n−1 y S ′n. Añadimos 2 ecuaciones ynos queda un sistema (n+ 1)× (n+ 1).

    Cálculo del Spline:

    i) Planteamos y resolvemos el sistema lineal → {S ′i}ni=0.

    ii) Con la fórmula del Spline cúbico C 1 calculamos ai, bi, ci, di en cada intervalo (conf ′i = S ′i).

    Veamos cual es la base del Spline natural (S ′′0 = S ′′n = 0). Tenemos que dim (ES) =n+ 1,

    S (x) =n∑i=0

    fiΦi (x) .

    Queremos Φi (x) tal que sean cúbicas a trozos, C 2, S ′′0 = S ′′n = 0, Φi(xj)

    = δij. La baseno será local pero tendrá amortiguamiento rápido. La podemos dibujar tomandofj = 0 j 6= i,fi = 1.Observación 3.2.5. Formulación con curvaturas. Fijamos S ′′0 = S ′′n = 0 y resolvemos elsistema

    λ1 2 µ1

    λ2 2 µ2. . . . . . . . .

    λn−1 2 µn−1

    S ′′0......S ′′n

    =

    ei......

    en−1

    ,λi = hihi−1+hiµi = hi−1hi−1+hiei = 6hi−1+hi

    (tihi− ti−1

    hi−1

    ).

    Teorema 3.2.6. Teorema de la suavidad del Spline natural.De todas las funciones C 2 que pasan por (xi, fi), i = 0, . . . , n, el Spline natural es la queminimiza la “rugosidad”:

    I (g) :=∫ xnx0

    [g′′ (x)

    ]2dx

    El Spline es la interpolación más suave.

    Demostración. Sean g una función C 2 que pasa por los puntos (xi, fi) y S el Splinenatural.

    I (g)− I (S) =∫ xnx0

    [(g′′)2 − (s′′)2] dx = ∫ xn

    x0

    (g′′ − S ′′

    )2dx︸ ︷︷ ︸

    >0, =0⇐⇒ g=S

    + 2∫ xnx0

    S ′′(g′′ − S ′′

    )dx︸ ︷︷ ︸

    :=A

    .

  • 18 TEMA 3. APROXIMACIÓN FUNCIONAL

    Tenemos que A es

    A =∫ xnx0

    S ′′(g′′ − S ′′

    )dx =

    =���

    ������

    [S ′′(g′ − S ′

    )]xnx0

    −∫ xnx0

    S ′′′(g′ − S ′

    )dx =

    = −n−1∑i=0

    ∫ xi+1xi

    S ′′′(g′ − S ′

    )dx =

    = −n−1∑i=0

    S ′′′i ������[g − S]xi+1xi = 0.

    Por lo tanto I (g) ≥ I (S) y la igualdad se da solo si g = S. �

    Observación 3.2.7. Vemos que I (g) ≥ I (S)+ [S ′′ (g′ − S ′)]xnx0 para S Spline C 2 cúbico.Si los datos son {fi}ni=0 y {S ′0, S ′n}, el Spline C 2 cúbico es el más suave posible en estascondiciones.

    3.3. Mínimos cuadradosObservación 3.3.1. Si tenemos muchos datos puede no ser necesario que la aproximaciónpase exactamente por los puntos, especialmente experimentales.

    Tenemos lo siguiente:

    Datos: {fi}ni=0 o bien f(x).

    Espacio de aproximación V : Polinomios de grado menor que m, funciones linealesa trozos, etc.

    Norma (producto escalar):

    • Datos discretos: 〈u, v〉 =n∑i=0

    u (xi) v (xi), ‖u‖ =√〈u, u〉 =

    √n∑i=0

    (u (xi)

    )2.• Datos continuos: 〈u, v〉 = ∫ ba u (x) v (x) dx, ‖u‖ = √〈u, u〉 = √∫ ba (u (x))2 dx.

    El objetivo es encontrar p = arg{

    mı́nq∈V‖q − f‖2

    }. Para calcularlo, expresamos p en función

    de los coeficientes i minimizamos

    E (c0, . . . , cm) =∥∥f − p (c0, . . . , cm)∥∥2 (m ≤ n).

    Para encontrar un mínimo queremos ∂E∂ci

    = 0, i = 0, . . . ,m que es un sistema no lineal.

    3.3.1. Ecuaciones normales (caso lineal)Tenemos

    V = 〈ψi〉i=0,...,m,

    p (x) = c0ψ0 + · · ·+ cmψm,

  • 3.3. MÍNIMOS CUADRADOS 19

    E = 〈f − p, f − p〉.

    Imponemos 0 = ∂E∂ci

    = −2〈f − p, ∂p

    ∂ci

    〉= −2 〈f − p, ψi〉, para i = 0, . . . ,m y tenemos∑

    j

    〈ψi, ψj

    〉cj = 〈ψi, f〉 , i = 0, . . . ,m

    Que son ecuaciones normales y tenemos el sistema〈ψ0, ψ0〉 . . . 〈ψ0, ψm〉

    ... ...〈ψm, ψ0〉 . . . 〈ψm, ψm〉

    c0...cm

    =〈ψ0, f〉

    ...〈ψm, f〉

    ,que es una matriz simétrica y definida positiva por ser una matriz de un producto escalar.

    3.3.2. Aproximación per mínimos cuadrados con polinomios

    Nuestro objetivo es encontrar pm ∈ Pm tal que pm = arg{

    mı́nq

    {‖f − q‖2

    }}. Podemos

    considerar la base natural

    pm(x) = a0 + a1x+ · · ·+ amxm =m∑i=0

    aiψi(x), donde ψi(x) = xi.

    Las ecuaciones normales son

    [〈ψi, ψj

    〉] a0...am

    = [〈ψi, f〉]

    Pero[〈ψi, ψj

    〉]está mal condicionada, especialmente si el intervalo es muy diferente de

    (0, 1). Lo solucionamos cogiendo una base de polinomios ortogonales con el productoescalar 〈·, ·〉, y nos queda una matriz diagonal.Observación 3.3.2. Familias de polinomios ortogonales, {pi}ni=0 con pn(∈ Pn)⊥Pn−1(〈pn, qn−1〉 = 0, ∀qn−1 ∈ Pn−1) con 〈·, ·〉.

    i) Polinomios de Jacobi: 〈u, v〉 = ∫ 1−1(1− x)α(1 + x)βu(x)v(x) dx.Polinomios de Legendre: 〈u, v〉 = ∫ 1−1 u(x)v(x) dx (α = β = 0).

    ii) Polinomios de Hermite: 〈u, v〉 = ∫+∞−∞ e−x2u(x)v(x) dx.iii) Polinomios de Laguerre: 〈u, v〉 = ∫+∞0 e−xu(x)v(x) dx.iv) Polinomios de Gram: 〈u, v〉 =

    k∑i=0

    u(xi)v(xi), con puntos xi equiespaciados en (−1, 1).

    Teorema 3.3.3. Sea pn ∈ Pn, 〈pn, q〉 = 0 ∀q ∈ Pn−1 con

    〈u, v〉 =∫ baw(x)u(x)v(x) dx, w(x) > 0, ∀x ∈ (a, b).

    Sus raices son todas reales, simples y se encuentran en el intervalo (a, b).

  • 20 TEMA 3. APROXIMACIÓN FUNCIONAL

    Demostración. Veamos primero que todas las raices son reales y estan en (a, b). Conside-ramos q(x) = ∏(x− xi), con {xi}ri=1 son las r raices reales de pn en (a, b). Tenemos quepn = q(x)τ(x) con τ(x) sin raices reales,

    〈pn, q〉 =∫ baw(x)

    [q(x)

    ]2︸ ︷︷ ︸>0

    no cambia signo en (a,b)︷ ︸︸ ︷τ(x) dx 6= 0.

    Por lo tanto q es de grado n, es decir r = n. Veamos que las raices son simples. Supon-gamos que no lo son, entonces pn(x) = (x− a)2τ(x) con τ(x) ∈ Pn−2,

    〈pn, τ〉 =∫ baw(x)

    [(x− a)τ ]2 dx = 〈(x− a)τ, (x− a)τ〉 = 0.

    Así pues, pn es ortogonal a los polinomios de grado mayor o igual a n− 1 y tenemos que(x− 1)τ = 0 =⇒ τ = 0 =⇒ pn = 0,

    lo cual es una contradicción. �Observación 3.3.4. Si r ≥ 1, entonces pn tiene alguna raiz real.Demostración.

    0 (pn⊥1)= 〈pn, 1〉 =∫ baw(x)pn(x) dx =⇒ pn ha de cambiar de signo,

    por lo tanto tiene raices reales. �Las familias de polinomios ortogonales se pueden encontrar en libros, MatLab, etc..

    ¿Como podemos calcular {pi}ni=0? Con Gram-Schmidt:

    pn+1 = xx+1 − (anpn + bnpn−1 + · · ·+ ξp0, con an =〈pn, x

    x+1〉

    〈pn, pn〉.

    Aunque no haremos servir este método.Proposición 3.3.5. Existe una fórmula recursiva mas sencilla que nos permite calcularlos polinomios ortogonales:

    pn+1 = (anx+ bn)pn(x) + cnpn−1(x).

    Demostración. Consideramos q(x) = pn+1(x)−anxpn(x) con an tal que q ∈ Pn. Entoncesq(x) = bnpn(x) + cnpn−1(x) + . . .︸︷︷︸

    veamos que es 0

    Tenemos que,

    〈q, pi〉 = 〈pn+1 − anxpn, pi〉 = 〈pn+1, pi〉︸ ︷︷ ︸0(pi∈Pn−2

    −an 〈xpn, pi〉︸ ︷︷ ︸0(pi∈Pn−2

    = 0, i = 0, . . . , n− 2.

    Calulo de los coeficientes: dado un an (escogido arbitrariamente), entonces

    bn = −〈anxpn〉〈pn, pn〉

    ,

    cn =〈anxpn, pn〉〈pn−1, pn−1〉

    .

  • Tema 4

    Integración numérica

    4.1. IntroducciónDatos:f(x), x ∈ (a, b) analíticamente o evaluable.{fi = f(xi)

    }ni=0 puntos fijados per datos (Newton-Cotes)

    El objetivo es encontrar una aproximación I =∫ ba f(x) dx ≈ . . . y una expresión del error.

    Las aproximaciones (cuadraturas) son de la forma

    I =n∑i=0

    wif(xi) + En,

    wi son los pesos de integración y f(xi) son los puntos de integración.

    4.2. Cuadratura de Newton-CotesDefinición 4.2.1. Denominamos cuadratura de Newton-Cotes a la siguiente aproxima-ción de f(x).

    f(x) = pn(x) +Rn(x),

    pn(x) =n∑i=0

    f(xi)Li(x), donde Li ∈ Pn tal que Li(xj) = δij

    y Rn(x) es el error de interpolación.

    pn(x)

    x0 x1 x2 xn−1 xn

    21

  • 22 TEMA 4. INTEGRACIÓN NUMÉRICA

    Por lo tanto ∫f(x) =

    ∫pn(x) +

    ∫Rn(x) =

    n∑i=0

    f(xi)∫Li(x),

    Li(x) =n∏j=1j 6=i

    x− xjxi − xj

    ,

    Rn(x) =f (n+1)

    (ξ (x)

    )(n+ 1)!

    n∏i=0

    (x− xi) ,

    I =∫ baf(x) dx =

    n∑i=0

    wif(xi) + En,

    con wi =∫ ba Li(x) dx, En =

    ∫ ba Rn(x) dx.

    Observación 4.2.2. En la cuadratura de Newton-Cotes, los Li(x) son los polinomiosinterpoladores de Lagrange.

    Definición 4.2.3. Decimos que una cuadratura es de orden q si integra exactamentepara f ∈ Pq.

    4.2.1. Fórmula del trapecioLa fórmula del trapecio es el caso particular de la cuadratura de Newton-Cotes paran = 1. Deduciremos la fórmula del trapecio de tres formas distintas.

    Deducción geométrica:

    0,5 1 1,5 2

    1

    2

    3

    El area del trapecio es I ≈ h2︸︷︷︸wo

    f(xo) +h

    2︸︷︷︸w1

    f(x1), donde h = b− a.

    Imponemos que la cuadratura es exacta si f ∈ P1.

    I ≈ w0f(a) + w1f(b).

    Escogemos w0 y w1 para que sea exacta para f = 1 y f = x (ya que entonces esexacta para todo f ∈ P1).

  • 4.2. CUADRATURA DE NEWTON-COTES 23

    • f = 1: h = b− a = ∫ ba 1 dx = w01 + w11,• f = x: b2−a22 =

    ∫ ba x dx = w0a+ w1b.

    Resolvemos el sistema lineal y tenemos que

    w0 =h

    2 ,

    w1 =h

    2 .

    Cuadratura de Newton-Cotes:

    0,5 1 1,5 2

    1

    2

    3

    p1(x)

    Nos queda I =∫ ba p1(x) dx+

    ∫ ba R1(x) dx =

    ∫ ba f(x) dx, y tenemos

    I ≈∫ bap1(x) dx =

    ∫ ba

    1∑i=0

    f(xi)Li(x) dx =⇒

    L0 =x−ba−b

    L1 = x−ab−a

    I ≈1∑i=0

    f(xi)∫ baLi(x) dx︸ ︷︷ ︸wi

    =⇒w0 =

    ∫ bax−b−h =

    h2

    w1 =∫ bax−ah

    = h2

    Hemos deducido la misma fórmula, pero ahora sabemos que el error es E1 :=∫ ba R1(x) dx, donde

    R1(x) =f ′′(ξ(x)

    )2 (x− x0)(x− x1), ξ(x) ∈ [a, b] .

    Por lo tanto, dado que x = a+ sh, x ∈ (a, b), s ∈ (0, 1),

    E1 =∫ 1

    0

    f ′′(ξ(x(s)

    ))2 (sh)h(s− 1)h ds =

    = h3

    2

    ∫ 10f ′′(ξ(x(s)

    ))s(s− 1) ds.

    Ahora, por el teorema del valor medio de la integral tenemos que∫ ba u(x)v(x) dx =

    u(η)∫ ba v(x) dx, si v(x) no cambia de signo en (a, b) y con η ∈ (a, b). Por lo tanto,

    E1 =h3

    2

    ∫ 10f ′′(ξ(x(s)

    ))s(s− 1) ds = h

    3

    2 f′′(µ)

    (−16

    ), µ ∈ [a, b] .

  • 24 TEMA 4. INTEGRACIÓN NUMÉRICA

    Así pues, tenemos que∫ baf(x) dx = h2

    (f(a) + f(b)

    )− (b− a)312 f ′′(µ), µ ∈ [a, b] .Esta fórmula se utiliza en la práctica como cuadratura compuesta con error≈ O(h2).

    0,5 1 1,5 2

    1

    2

    3

    4.2.2. Cuadratura de SimpsonLa cuadratura de Simpson es el caso particular de la cuadratura de Newton-Cotes

    para n = 2, con 3 puntos equiespaciados: x0 = a, x1 = a+b2 y x2 = b.

    I = w0f (a) + w1f(a+ b

    2

    )+ w2f (b) + E2,

    donde E2 es el error. Utilizando la tercera estrategia (con polinomios de Lagrange),

    w0 =∫ ba

    (x− x1) (x− x2)(x0 − x1) (x0 − x2)

    dx x=a+sh= ��h2h

    2��h2∫ 2

    0(s− 1) (s− 2) ds = h3 ,

    w1 =∫ ba

    (x− x0) (x− x2)(x1 − x0) (x1 − x2)

    dx x=a+sh= h−1∫ 2

    0s (s− 2) ds = 43h,

    w2 = · · · =h

    3

    donde h = b−a2 .

    Proposición 4.2.4. La suma de los pesos es igual a la longitud del intervalo.

    Aquí falta mitja pàgina que no entenc :).

    Observación 4.2.5. Las cuadraturas más utilizadas son n = 1 (trapecio) y n = 2(Simpson), pero como cuadraturas compuestas.

    Observación 4.2.6. Una cuadratura compuesta se puede hacer con Newton-Cotes,Gauss...

  • 4.3. CUADRATURAS DE GAUSS 25

    4.3. Cuadraturas de Gauss

    I =∫ zbzaw(z)︸ ︷︷ ︸w(z)>0

    f(z) dz ≈n∑i=0

    wi︸︷︷︸2n+2 parámetros

    f(zi).

    Los puntos no están fijados (no son datos ni tienen por qué estar equiespaciados) yescogemos {zi}ni=0 y {wi}

    ni=0 para integrar exactamente si f ∈ P2n+1.

    Observación 4.3.1. Familias de cuadraturas.

    Gauss-Legendre: I =∫ 1−1 f(z) dz,

    (w(z) = 1

    )Gauss-Txebyshev: I =

    ∫ 1−1

    1√1−z2f(z) dz,

    (w(z) = 1√1−z2

    )Gauss-Laguerre: I =

    ∫∞0 e

    −zf(z) dz,(w(z) = e−z

    )Gauss-Hermite: I =

    ∫+∞−∞ e

    −z2f(z) dz,(w(z) = e−z2

    ).

    Veamos un ejemplo.

    Ejemplo 4.3.2. Gauss-Legendre n = 1 (2 puntos).

    I =∫ 1−1f(z) dz ≈ w0f (z0) + w1f (z1) .

    Podemos resolver el problema de varias maneras.

    Estrategia 1 (fuerza bruta): imponer exacta para f ∈ P3

    • f = 1: 2 =∫ 1−1 dz = w0 + w1

    • f = z: 0 =∫ 1−1 z dz = z0w0 + z1w1

    • f = z2: 23 =∫ 1−1 z

    2 dz = z20w0 + z21w1• f = z3: 0 =

    ∫ 1−1 z

    3 dz = z30w0 + z31w1

    que es un sistema no lineal para z0, z1, w0, w1.Provemos una solución con simetrias z0 = −z1, w0 = w1.

    2 = w0 + w1 = 2w1 =⇒ w0 = w1 = 10 = z0 + z123 = z

    20 + z21 = 2z1 =⇒ z1 =

    √3

    3 , z0 = −√

    33

    0 = z30 + z31

    Observación 4.3.3. Si f = z4, no se cumple:

    25 =

    ∫ 1−1z4 dz 6= 2

    √33

    4 = 29 .

  • 26 TEMA 4. INTEGRACIÓN NUMÉRICA

    Estrategia general para deducir las cuadraturas.Queremos los puntos {zi}ni=0 para que el error de integración siguiente sea 0 sif ∈ P2n+1:

    En =∫ zbzaw(z)Rn(z) dz,

    wi =∫ zbzaw(z)Li(z) dz,

    donde Rn es el error de interpolación con {zi}ni=0. Es decir, si f ∈ P2n+1, entonces

    f(z)︸ ︷︷ ︸∈P2n+1

    = pn(z)︸ ︷︷ ︸∈Pn

    +Rn(z)︸ ︷︷ ︸∈P2n+1

    Rn(z)︸ ︷︷ ︸∈P2n+1

    = f(n+1) (ξ (z))(n+ 1)!︸ ︷︷ ︸Q(z)∈Pn

    L (z)︸ ︷︷ ︸∈P2n+1

    donde L(z) = (z − z0) . . . (z − zn) .

    El error es

    En =∫ zbzaw (z)Q (z)L (z) dz =

    = 〈Q,L〉 ,︸ ︷︷ ︸0 si L∈Pn+1 y L⊥Pn, ∀Q(∀f∈P2n+1)

    con 〈u, v〉 = ∫ zbza w (z)u (z) v (z) dz.Por lo tanto la cuadratura es de orden 2n + 1 si {zi}ni=0 son los zeros de pn+1,un polinomio de grado n + 1 de la familia de polinomios ortogonales con 〈u, v〉 =∫ zbzaw (z)u (z) v (z) dz.

    Observación 4.3.4.

    i) Las cuadraturas de Newton-Cotes con puntos equiespaciados pueden empeorar laaproximación al augmentar n. Es mejor n = 1 (trapecio) y n = 2 (Simpson) ycomponer.

    ii) En el método de los elementos finitos (EDPs) y otras situaciones hace falta calcularintegrales de polinomios (casi polinomios).

    Ejemplo 4.3.5. Supongamos que hemos de integrar exactamente polinomios P4. ¿Quécuadratura deberíamos hacer servir?

    Newton-Cotes equiespaciados: necesitamos n = 4 (5 puntos).

    Gauss-Legendre: n = 2 (3 puntos).

    Es mejor usar Gauss-Legendre que Newton-Cotes ya que da la misma precisión con menosevaluaciones de la función.

    4.4. Cuadraturas compuestasEn está sección, m será el número de subintervalos (con n+ 1 puntos en cada subin-

    tervalo).

  • 4.4. CUADRATURAS COMPUESTAS 27

    4.4.1. Compuesta del trapecio

    ∫ baf (x) dx =

    m−1∑i=0

    ∫ xi+1xi

    f (x) dx =m−1∑i=0

    (f (xi) + f (xi+1)) hi2 − (hi)3

    12 f′′ (ξi)

    Si son puntos equiespaciados,

    hi = h =b− am

    , ∀i,∫ baf (x) dx = h

    12f (x0) +

    m−1∑i=1

    f (xi) +12f (xm)

    + Etm,Etm = −

    h3

    12

    m−1∑i=0

    f ′′ (ξi)si f suficentemente

    =regular

    − h3

    12f′′ (ξ)m, ξ ∈ [a, b] .

    como h = b−am

    , tenemos que

    Etm = −(b− a)3

    12 ·f ′′ (ξ)m2

    .

    Observación 4.4.1. Si∣∣f ′′ (x)∣∣ ≤M para x ∈ [a, b], entonces

    ∣∣∣Etm∣∣∣ ≤ km2 , k = M (b− a)3

    12 .

    Tenemos que ĺımm→+∞

    ∣∣∣Etm∣∣∣ = 0.4.4.2. Compuesta de Simpson

    Tenemos m subintervalos [x2i−2, x2i], i = 1, . . . ,m. El numero de puntos ha ser impary no es necesario que esten equiespaciados. Para una distancia uniforme h = (b−a)2m ,

    I =m∑i=1

    ∫ x2ix2i−2

    f (x) dx =

    =m∑i=1

    [h

    3[f (x2i−2) + 4f (x2i−1) + f (x2i)

    ]− h590f (4) (µi)]

    =

    = h3

    f (x0) + f (x2m) + m∑i=0

    4f (x2i−1) +m∑i=1

    2f (x2i)+ Esm,

    Esm = −m∑i=1

    h5

    90f(4) (µi) = −

    h5

    90 ·125mf

    (4) (µ) , µ ∈ [a, b] .

    Por lo tanto, como h = (b−a)m

    , tenemos que

    Esm = −(b− a)590 · 25 ·

    f (4) (µ)m4

  • 28 TEMA 4. INTEGRACIÓN NUMÉRICA

    Si∣∣∣f (4) (x)∣∣∣ ≤M para x ∈ [a, b], entonces

    |Esm| ≤k

    m4m→+∞−→ 0 =⇒ log|Esm| ≈ log k − 4 log (m) .

    Para aproximar el error cogemos más subintervalos. Sea Ism la aproximación con com-puesta de Simpson, I la integral real,

    E10 = |Is10 − I| ≈|Is10 − Is20| ≈ 0, 5 · 10−2

    E20 ≈116E10

    ¿Qué m∗ necesitamos para obtener 7 cifras significativas?Tenemos que 1, 5 · 10−7 = Em∗ = k(m∗)4 y

    0, 5 · 10−2 ≈ E10 m=10=k

    104 → k = 0, 5 · 102 =⇒

    =⇒ 0, 5 · 10−7 = 0, 5 · 102

    (m∗)4=⇒ (m∗)4 = · · · = 109 =⇒

    =⇒ m∗ = 100 4√

    10.

    Por lo tanto necesitamos poco más de 100 intervalos.

    4.4.3. Error de las cuadraturas cerradas de Newton-CotesTenemos

    wi =∫ ba

    n∏j=0j 6=i

    x− xjxi − xj

    En =∫ baRn (x) dx =

    ∫ ba

    f (n+1)(ξ (x)

    )(n+ 1)! Ln (x) dx

    Ln = (x− x0) . . . (x− xn) .

    4.4.3.1. Caso 1: n par

    Tenemos que Ln es una función antisimétrica respecto xn/2, es decir, Ln(−x+ xn/2

    )=

    −Ln(x− xn/2

    ). Consideramos q (x) =

    ∫ xa Ln (s) ds, q (a) = q (b) = 0.

    En = −∫ ba

    ddx

    f (n+1) (ξ (x))(n+ 1)!

    ︸ ︷︷ ︸

    f(n+2)(µ(x))(n+2)!

    q (x) dx+��

    ���

    ���

    ��f (n+1) (ξ (x))(n+ 1)! q

    ba

    .

    Veamos que q no cambia de signo. Como que Ln (x) es antisimétrica, q es par y solo faltademostrar que no cambia de signo en

    [x0, xn/2

    ].

  • 4.4. CUADRATURAS COMPUESTAS 29

    Consideramos Ii =∫ xi+1xi

    Ln (x) dx. Veamos que |Ii+1| ≤ |Ii| i por lo tanto q (x) nocambia de signo.

    Ii+1 =∫ xi+2xi+1

    (x− x0) . . . (x− xn) dx z=x−h=

    =∫ xi+1xi

    (z + h− x0)︸ ︷︷ ︸z−(x0−h)

    . . . (z + h− xn)︸ ︷︷ ︸z−xn−1

    dz× z−xnz−xn=

    =∫ xi+1xi

    Ln (z)︸ ︷︷ ︸mismo signo en [xi,xi+1]

    z − (x0 − h)z − xn

    dz TVM integral=

    = ξ − (x0 − h)ξ − xn︸ ︷︷ ︸≤1

    Ii, ξ ∈ [xi, xi+1]

    y por lo tanto |Ii+1| ≤ |Ii|. Como que q no cambia de signo podemos aplicar el TVM(integral):

    En = −f (n+2) (µ)(n+ 2)!

    ∫ baq (x) dx.

    Integrando por partes,

    En =f (n+2) (µ)(n+ 2)!

    ∫ baxLn(x) dx,

    para n par.

    4.4.3.2. Caso 2: n impar

    En =∫ xn−1x0

    f (n+1)(ξ(x)

    )(n+ 1)! Ln(x) dx︸ ︷︷ ︸

    :=A

    +∫ xnxn−1

    f (n+1)(ξ(x)

    )(n+ 1)! Ln(x) dx︸ ︷︷ ︸

    :=B

    BTVM= f

    (n+1) (µB)(n+ 1)!

    ∫ xnxn−1

    Ln(x) dx

    A =∫ xn−1x0

    f (n+1)(ξ(x)

    )(n+ 1)! (x− xn)︸ ︷︷ ︸

    = f(n)(µ(x))

    n! +C

    (x−x0)...(x−xn−1)︷ ︸︸ ︷Ln−1(x) dx =

    =∫ xn−1x0

    f (n)(µ(x)

    )n! Ln−1(x) dx+����

    ������

    �C∫ xn−1x0

    Ln−1(x) dx.

    Aplicando el caso 1 para (n− 1) par, tenemos:

    A = f(n+1) (µA)(n+ 1)!

    ∫ xn1x0

    xLn−1(x) dx =

    = f(n+1) (µA)(n+ 1)!

    ∫ xn1x0

    Ln(x)︸ ︷︷ ︸(x−xn)Ln−1(x)

    dx.

  • 30 TEMA 4. INTEGRACIÓN NUMÉRICA

    Sumando A+B, tenemos

    En =f (n+1) (µ)(n+ 1)!

    ∫ baLn(x) dx, µ ∈ [a, b] ,

    para n impar.

    4.5. Integración múltiple

    ∫ ba

    ∫ d(x)c(x)

    f (x, y) dy dx =∫ bag(x) dx ≈

    nx∑i=0

    wixg (xi)

    dondeg (xi) =

    ∫ d(xi)c(xi)

    f (xi, y) dy ≈ny∑j=0

    wjif(xi, yji

    )y tenemos que

    I =nx∑i=0

    ny∑j=0

    wixwjif(xi, yji

    )=∑k

    =wixwji ...︷︸︸︷wk f (xk, yk) .

  • Tema 5

    Métodos numéricos para EDOs

    5.1. IntroducciónVeremos métodos para aproximar la solución de Problemas de Valor Inicial (PVI) de

    formad ȳdx = f̄ (x, ȳ) ȳ(a) = ᾱ

    Siendo la EDO cierta para x > a.

    Ejemplo 5.1.1.

    1) y′ = 2xyy(0) = 12)

    d yd t = 2xyd xd t = x+ y

    x(0) = 0y(0) = 3Que es equivalente a

    d ȳdx = f̄ (x, ȳ)ȳ(a) = ᾱ

    con ȳ =(xy

    )=(y1y2

    )y f̄ (t, ȳ) =

    (y1 + y22y1y2

    )

    Y condición inicial ᾱ = ȳ(0) =(

    03

    ).

    3) y′′ = −y x > 0y(0) = 0; y′(0) = 1Consideramos

    z̄ =(yy′

    ), z̄(0) = ᾱ =

    (01

    )y f̄ (t, z̄) =

    (z2−z1

    )

    Observación 5.1.2. Notación. Notaremosȳi : = ȳ (xi)fi : = f

    (xi, ȳ

    i)

    31

  • 32 TEMA 5. MÉTODOS NUMÉRICOS PARA EDOS

    Definición 5.1.3. Un método es una fórmula para calcular Ȳ i+1 ≈ ȳ (xi+1) a partir deȲ i ≈ ȳ (xi) y si necesita, anteriores.

    5.2. Método de EulerTenemos

    d ydx (xi) = f

    (xi, y

    i)

    Ahora, podemos aproximar d ydx (xi) ≈ yi+1−yih

    +O(h) para alguna h constante. De dondeobtenemos

    yi+1 = yi + hf(xi, y

    i)

    +O(h2)

    ︸ ︷︷ ︸error de truncado

    Ahora, suprimiendo los errores de truncamiento, obtenemos el método de Euler:

    Y i+1 ≈ Y i + hf(xi, Y

    i)

    Observación 5.2.1.

    yi+1 = yi + d ydx (xi) (xi+1 − xi) +O(|xi+1 − xi|2

    )Por taylor centrado en xi y evaluado en xi+1. Más en general

    y(x) = y (xi) +d ydx (x) (x− xi) +O

    (|x− xi|2

    )De donde sigue que

    d ydx (xi) =

    y (xi+1)− y (xi)xi+1 − xi

    +O (|xi+1 − xi|)Consultar transparencias de Atenea para más información.

    5.3. Método de Euler hacia atrásConsideramos Taylor centrado en xi+1

    y(x) = y (xi+1) + y′ (xi+1) (x− xi+1) +O(|x− xi+1|2

    )evaluando en x = xi, obtenemos

    yi = yi+1 − hy′ (xi+1) +O(h2)

    (5.i)

    De donde se deduce:

    Una aproximación de la derivada

    y′ (xi+1) =yi+1 − yi

    h+O(h)

    substituyendo la derivada en 5.i, obtenemos

    yi+1 = yi + hf(xi+1, y

    i+1)

    +O(h2)

    https://atenea.upc.edu/

  • 5.4. MÉTODO DE DIFERENCIAS CENTRADAS 33

    Ahora, si negligimos los errores de truncamiento, obtenemos el método de Euler haciaatrás: Y

    0 = αY i+1 − hf

    (xi+1, Y

    i+1)

    = Y i

    Observación 5.3.1. Hace falta resolver una ecuación (que en general no es lineal) paracalcular Y i+1 en cada paso. Podemos tomar 0Y i+1 = Y i como aproximación inicial.

    Si a la hora de resolver esta ecuación empleamos un método explícito, el método seráestable. En cambio, si utilizamos un método no explícito, el método será condicionalmenteestable, es decir, que para funcionar necesitará una h suficientemente pequeña.

    5.4. Método de diferencias centradasHacemos Taylor centrado en xi y evaluado en:x = xi+1 : y

    i+1 = yi + hy′ (xi) + h2

    2 y′′ (xi) +O

    (h3)

    x = xi−1 : yi−1 = yi − hy′ (xi) + h2

    2 y′′ (xi) +O

    (h3)

    Restando, obtenemosyi+1 − yi−1 = 2hy′ (xi) +O

    (h3)

    (5.ii)De donde se obtiene la aproximación centrada de la derivada:

    y′ (xi) =yi+1 − yi−1

    2h +O(h2)

    O bien, si substituimos la EDO en 5.ii:

    yi+1 = yi−1 + 2hf(xi, y

    i)

    +O(h3)

    Y menospreciando O(h3), obtenemos el método de las diferencias centradas:

    Y 0 = αY 1 = Y 0 + hf

    (x0, Y

    0)

    Y i+1 = Y i−1 + 2hf(xi, Y

    i)

    5.5. Error local, global y orden de convergenciaDefinición 5.5.1. El error local es el error en Y i+1, es decir, Y i+1 − yi+1 si suponemosY i exacto.

    Observación 5.5.2. El error local en Euler se puede calcular suponiendo Y i = yi:Y i+1 = yi + hf

    (xi, y

    i)

    yi+1 = yi + hf(xi, y

    i)

    + hTi(h)︸ ︷︷ ︸O(h)

    donde Ti(h) es el error de truncamiento. Restando, obtenemos el error local:

    Y i+1 − yi+1 = hTi(h)

  • 34 TEMA 5. MÉTODOS NUMÉRICOS PARA EDOS

    Definición 5.5.3. El error global es el error acumulado después de m pasos con h = b−am

    .

    Observación 5.5.4. Si el error local está acotado por hT (h), después de m pasos el erroracumulado es

    mhT (h) = b− ah

    hT (h)

    Por lo tanto, el error global es

    O (T (h))O(h) para EulerO (h2) para diferencias centradas

    Definición 5.5.5. Diremos que un método es de orden q si el error global es O (hq)

    Observación 5.5.6. Si el error local es O(hq+1

    ), entonces el error global es O (hq)

    5.6. Análisis de la estabilidad de los métodos numé-ricos para EDOs

    Consideramos y(x) = ceλx, λ ∈ C y entonces y′ = λy. Si Re(λ) < 0, la solución tiendea 0 cuando x→ +∞.

    Definición 5.6.1. Un método es (absolutamente) estable para λ y h (con la consideraciónanterior) si

    ĺımi→+∞

    ∣∣∣Y i∣∣∣ = 0(o se mantiene acotado).

    Definición 5.6.2. Dado método, lo reescribimos para que quede de la forma

    Y i+1 = Y iG

    Tomando valores absolutos, obtenemos∣∣∣Y i+1∣∣∣ = ∣∣∣Y i∣∣∣|G|Llamaremos a |G| el factor de amplificación.

    Observación 5.6.3. Un método es estable si su factor de amplificación es ≤ 1.

    Definición 5.6.4. Llamamos región de estabilidad a la región del plano λh en la cual unmétodo es estable.

    Definición 5.6.5. Diremos que un método es incondicionalmente estable si la región deestabilidad incluye {

    λh | Re(λh) ≤ 0}Analizaremos ahora la estabilidad de los métodos que hemos trabajado.

  • 5.6. ANÁLISIS DE LA ESTABILIDAD 35

    5.6.1. Método de EulerRecordemos el método de Euler

    Y i+1 = Y i = hf(xi, y

    i)

    ReescribiendoY i+1 = Y i + λhY i = Y i(1 + λh)

    de donde se decide que el factor de amplificación es |1 + λh| y por lo tanto el método esestable si |1 + λh| ≤ 1. En caso de que λ ∈ R, la condición de estabilidad absoluta es−2 ≤ λh ≤ 0. Por lo tanto, la región de estabilidad es

    −3 −2 −1 1 2 3

    −2

    −1

    1

    2

    Re(λh)

    Im(λh)

    5.6.2. Método de Euler hacia atrásRecordemos primero el método:

    Y i+1 = Y i + hf(xi+1, Y

    i+1)

    De aquí se deduce que

    Y i+1 = Y i + λhY i+1 =⇒ Y i = Y i+1(1− λh) =⇒∣∣∣Y i+1∣∣∣ = ∣∣∣Y i∣∣∣ 1|1− λh|

    Y el factor de amplificación es 1|1−λh| y el método es estable si |1− λh| ≥ 1. En el casoλ ∈ R, el esquema es absolutamente estable para {λh < 0} ∩ {λh > 2}.

    −2 −1 1 2 3 4

    −2

    −1

    1

    2

    Re(λh)

    Im(λh)

    En particular, el método de Euler hacia atrás es absolutamente estable para cualquierh > 0 si λ < 0.

  • 36 TEMA 5. MÉTODOS NUMÉRICOS PARA EDOS

    5.6.3. Método de las diferencias centradasPrimero, recordemos el método de las diferencias centradas:

    Y i+1 = Y i−1 + 2hf(xi, Y

    i)

    =⇒ Y i+1 = Y i−1 + 2λhY i

    Podemos reescribir esta ecuación de la siguiente forma matricial(Y i+1

    Y i

    )=(

    2λh 11 0

    )︸ ︷︷ ︸

    G

    (Y i

    Y i−1

    )

    Por lo tanto es estable si |λ1| ,|λ2| ≤ 1, donde λ1, λ2 son los VAPs de G.Busquemos ahora los VAPs de G, primero calculamos el polinoio característico

    QG(t) = t2 − 2λht− 1

    Ahora buscamos sus raíces

    QG(t) = 0 =⇒ t = λh±√λ2h2 + 1 =⇒

    λ1 = λh+√λ2h2 + 1

    λ2 = λh−√λ2h2 + 1

    De donde sigue que la condición de estabilidad absoluta es∣∣∣λh±√λ2h2 + 1∣∣∣ < 1. Y la

    región de estabilidad es:

    −2 −1 1 2 3 4

    −2

    −1

    1

    2

    Re(λh)

    Im(λh)

    En particular, si λ ∈ R, el método es inestable.

    5.7. Métodos de Runge-kutta

    5.7.1. Método de HeunEl método de Heun está basado en una aproximación centrada,

    (Ti(h) = O

    (h2))

    .Considerando el polinomio de Taylor centrado en xi+ 12 = xi +

    h2 y evaluando en x = xi,

    x = xi+1, obtenemosyi+1 = yi + hf

    (xi+ 12

    , yi+1)

    +O(h2)

  • 5.7. MÉTODOS DE RUNGE-KUTTA 37

    Y por otro lado

    hf(xi+ 12

    , yi+1)

    = 12

    (f (xi, yi) + f

    (xi+1, y

    i+1))

    +O(h2)

    Así pues, negligiendo los errores, el método de Heun es

    Y i+1 = Y i + h2

    (f(xi, y

    i)

    + f(xi+1, y

    i+1))

    que tiene orden 2.Observamos sin embargo que el método de Heun es implícito, para solucionar este

    “problema”, empleamos la siguiente técnica de dos pasos∗Y i+1 = Y i + hf

    (xi, Y

    i)

    Y i+1 = Y i + h2(f(xi, Y

    i)

    + f(xi+1,

    ∗Y i+1

    ))

    Es decir, primero hacemos una predicción de Y i+1 con el método de Euler, y luego lautilizamos para calcular Y i+1. Usando esta técnica mantenemos el orden 2 y hacemos elmétodo explícito.

    Si utilizamos la notación habitual en los métodos de Runge-Kutta:k1 = f(xi, Y

    i)

    k2 = f(xi + h, Y i + hk1

    )Y i+1 = Y i + h

    (12k1 +

    12k2

    )

    5.7.2. Métodos de Runge-KuttaEn general, los métodos RK son de la forma

    Y i+1 = Y i + h (b1k1 + · · ·+ bsks)k1 = f

    (xi + c1h, Y i + h (a11k1 + · · ·+ a1sks)

    )...ks = f

    (xi + csh, Y i + h (as1k1 + · · ·+ assks)

    )Definición 5.7.1. Para simplificar la escritura de los métodos RK, podemos emplear lasiguiente tabla, cconocida como la tabla de Butcher.

    c1 a11 · · · a1s... ... ...cs as1 · · · ass

    b1 · · · bs

    Donde el número de filas nos marca el número de etapas. Si la matríz de coeficientes asolo tiene valores por debajo de la diagonal, el método es explícito. Si tambien tiene valoresen la diagonal (pero no encima de la diagonal), diremos que el método es diagonalmenteimplícito.

  • 38 TEMA 5. MÉTODOS NUMÉRICOS PARA EDOS

    Ejemplo 5.7.2. La tabla de Butcher para el método de Heun es

    0 0 01 1 0

    12

    12

    Como se puede observar, tiene dos etapas.

    El error global de estos métodos es

    Em ∼ Cm−q, Em ∼ khq

    Es decir, tienen orden q. (m es el número de pasos y C y k son constantes).Los RK más populares son los explícitos que con s etapas (coste de s evaluaciones de

    f) tienen orden q = s. Esto solo es “posible” para s ≤ 4.Es interesante, destacar de entre estos métodos el método RKF45 (ode45 en matlab

    y octave) cuyo funcionamiento se puede consultar en la wikipedia.

    Ejemplo 5.7.3. Ejercicio 2 del final de 2018.Se quiere resolver un problema de transporte

    au′ − νu′′ = 1 x ∈ (0, 1) (5.iii)

    con la velocidad de convección a = 1 y coeficiente de difusión ν = 1. En una primera fase,se plantea la resolución de un problema de valor inicial, con las condiciones iniciales

    u(0) = 0, u′(0) = 12 (5.iv)

    a) Reescribe el problema 5.iii con las condiciones iniciales 5.iv como un sistema deecuaciones diferenciales ordinarias de primer orden.

    b) Calcula una aproximación de la solución en x = 1 mediante m = 8 pasos delsiguiente método de Runge-Kutta de segundo orden:

    Y i+1 = Y i + h2 (k1 + k2) con

    k1 = f(xi, Y

    i)

    k2 = f(xi + h, Y i + hk1

    )

    c) La solución del problema planteado en b) es u(1) ≈ 0,140859. Calcula el errorde la aproximación obtenida en el apardato anterior. ¿Cuántas cifras significativascorrectas tiene la aproximación? Estima el número de pasos necesarios para obteneruna aproximación de la solución con 5 cifras signiicativas correctas. Explica cómohas obtenido este resultado.

    En una segunda fase interesa resolver la ecuacion 5.iii con las condiciones de contorno

    u(0) = 0, u(1) = 0

    d) Propón un procedimiento para resolver el problema de contorno utilizando méto-dos de resolución de EDOs. Detalla los problemas que hay que resolver y propónmétodos para resolverlos

  • 5.7. MÉTODOS DE RUNGE-KUTTA 39

    e) Implementa el procedimiento propuesto en el apartado anterior y di qué método(s)numéricos has empleado en la resolución. Indica, si es necesario, la discretizacióno tolerancias tomadas. ¿Qué condiciones iniciales proporcionan la solución del pro-blema de contorno planteado?

    Solución

    a) Queremos reescribir el problema de la formad ȳdx = f̄ (x, ȳ)ȳ(0) = ᾱ

    Para ello, tomamos ȳ =(uu′

    )y calculamos:

    ∂ȳ1∂x

    = u′ = ȳ2∂ȳ2∂x

    = u′′ = u′ − 1 = ȳ2 − 1De donde obtenemos

    f̄ (x, ȳ) =(

    ȳ2ȳ2 − 1

    )o f̄ (x, ȳ) =

    (0 10 1

    )ȳ +

    (0−1

    )

    Y tan solo queda especificar ᾱ =(

    01/2

    ).

    b) Solución en matlab.

    c) La aproximación tiene una cifra significativa correcta (una mera comprobación).Para obtener 5 cifras significativas corretas, necesitamos rm ' 0,5 · 10−5. Sabemosque

    r8 = 0,023 =C

    m2= C64

    de donde obtenemos C = 1,472 y ahora

    rm = 0,5 · 10−5 =C

    m2= 1,472

    m2=⇒ m =

    √1,472

    0,5 · 10−5 ≈ 542,58

    por lo tanto necesitaríamos unos 543 pasos.

    d) Para resolver el problema de contorno, tomaremos la función uβ definida comouβ = ȳ1 con

    d ȳdx =

    0 10 1

    ȳ + 0−1

    ȳ(0) =

    Y encontraremos β tal que se cumpla la condición en x = 1. Ahora tan solo hacefalta buscar el cero de la función

    F (β) = uβ(1)− 0 =β Y m(1) − 0para ello podemos utilizar la función de matlab fzero(F, 0).

    e) Solución en matlab.

  • 40 TEMA 5. MÉTODOS NUMÉRICOS PARA EDOS

  • Tema 6

    Introducción a los métodosnuméricos para EDPs

    6.1. IntroducciónMétodo de los elementos finitos

    Diferencias finitas (1D, 2D, 3D)

    Volumenes finitos

    Veremos el método de las diferencias finitas en 1D.

    6.1.1. Ecuación parabólicaEDP:

    ∂u

    ∂t= ∂

    2u

    ∂x2, x ∈ (a, b) , t > 0. (6.i)

    Condiciones de contorno: u (a, t) = ua (t)u (b, t) = ub (t)La condición inicial (ci) es: u (x, 0) = u0 (x).

    Análogamente a como se hace en el método de los elementos finitos, haremos primerosolo discretización para el espacio (X) y más tarde la solución en tiempo. Cojamos Nsubintervalos de tamaño ∆x = b−a

    N.

    a = x0 x1 x2 x3 xn−1 b = xn

    La siguiente expressión es una aproximación de la derivada segunda de una función fgenérica:

    f ′′ (xi) =f (xi−1)− 2f (xi) + f (xi+1)

    ∆x2 +O(∆x2

    ), (6.ii)

    la demostración se encuentra en un fichero de Atenea.

    Observación 6.1.1. Notación. Usaremos la siguiente notación:

    ui := u (xi, ·)

    41

  • 42 TEMA 6. INTRODUCCIÓN A LOS MÉTODOS NUMÉRICOS PARA EDPS

    ui (t) := u (xi, t) es el valor desconocido (exacto/analítico)

    Ui (t) ≈ ui (t) es la aproximación del valor.Sustituyendo la ecuación 6.ii en la EDP 6.i evaluada en x = xi (y obviando los errores

    O(∆x2

    )), tenemos que

    dUidt =

    1∆x2 [Ui−1 − 2Ui + Ui+1] , i = 1, . . . , N − 1.

    Para i = 1 e i = N − 1, la equación se modifica teniendo en cuenta las condiciones decontorno, U0 = ua y UN = ub:

    i = 1: dU1dt =1

    ∆x2 [−2U1 + U2] + Ua∆x2 .

    i = N − 1: dUN−1dt = 1∆x2 [UN−2 − 2UN−1] + Ub∆x2 .Por lo tanto tenemos el problema del valor inicial siguiente

    dŪdt = A∼Ū + F̄ū (0) = ū0

    que es

    ddt

    U1......

    UN−1

    ︸ ︷︷ ︸

    = 1∆x2

    −2 11 . . . . . .

    . . . . . . 11 −2

    ︸ ︷︷ ︸

    =:A∼

    U1......

    UN−1

    ︸ ︷︷ ︸

    +

    Ua∆x2......Ub

    ∆x2

    ︸ ︷︷ ︸

    =:F

    ,

    ū0 =

    u0 (x1)

    ...u0 (xN−1)

    ,

    Ū (0) =

    U1 (0)

    ...UN−1

    =U (x1, 0)

    ...U (xN−1, 0)

    .El vector F tiene todo 0s excepto en los extremos que se muestran en la ecuación.

    Ejemplo 6.1.2.

    ∂u∂t

    = ∂2u∂x2, x ∈ (0, π) , t > 0

    u (x, 0) = sin (x)u (0, t) = 0u (π, t) = 0

    La solución es u (x, t) = e−t sin (x). Vamos a suponer que no sabemos la solución y losolucionaremos con diferencias finitas (DF).

    dūdt = A∼Ū + F̄

  • 6.1. INTRODUCCIÓN 43

    con

    Ū (0) =

    sin (x1)

    ...sin (xN−1)

    ,

    F̄ =

    0

    ∆x2...0

    ∆x2

    .

    Podemos resolver el problema del valor inicial de dos formas

    i) Analíticamente:

    U (t) =N−1∑i=1

    ᾱieλit

    ︸ ︷︷ ︸solución homogenia

    + Up (t)︸ ︷︷ ︸solución particular

    ii) Métodos numéricos para PVI (EDOs).

    Observación 6.1.3.

    ∂u∂t

    = ∂2u∂x2, x ∈ (a, b) , t > 0

    u (x, 0) = u0 (x)u (a, t) = ua (t)u (b, t) = ub (t)

    Imponiendo la EDP en x = xi:

    dUidt =

    1∆x2

    Ui−1︸ ︷︷ ︸ua si i=1

    −2Ui + Ui+1︸ ︷︷ ︸ub si i=N−1

    , i = 1, . . . , N − 1

    El problema del valor inicial es

    dŪdt = A∼Ū + F̄ ,Ū (0) = Ū0

  • 44 TEMA 6. INTRODUCCIÓN A LOS MÉTODOS NUMÉRICOS PARA EDPS

    donde

    Ū =

    U1...

    UN−1

    ,

    A∼ =

    −2 11 . . . . . .

    . . . . . . 11 −2

    1

    ∆x2

    F̄ = 1∆x2

    ua0...0ub

    Ū (t) =

    ∑ᾱie

    λit + Up (t)

    Solución numérica:

    Euler (O(∆t)):

    Ūn+1 = Ūn + ∆t[A∼Ū

    n + F̄ n], n = 0, 1, . . . .

    Los vaps de A∼ ·∆x2 son: −4 ≤ λi < 0 =⇒ −4∆x2 ≤ λi < 0, mı́n (λi)→ −4∆x2 cuando

    N → +∞. Por lo tanto Euler es estable si ∆t ≤ ∆tcrítico = 12∆x2.

    r := ∆t∆x2 ≤12 .

    Euler hacia atrás (O(∆t)):

    Ūn+1 = Ūn + ∆t[A∼Ū

    n+1 + F̄ n+1],[

    Id∼ −∆tA∼]Ūn+1 = Ūn + ∆tF̄ n+1.

    6.2. Condiciones de contorno de Neumann: nodosficticios

    EDP:∂u

    ∂t= ν ∂

    2u

    ∂x2, x ∈ (a, b), t > 0.

    En general, ∂∂x

    (ν (x) ∂u

    ∂x

    ).

    Condiciones iniciales: u (x, 0) = f (x).

    Condiciones de contorno:−ν∂u∂x

    (a) = qa flujo (de calor) en el contorno.ν ∂u∂x

    (b) = qb Neumann (CC en ∂u∂x).

  • 6.2. CONDICIONES DE CONTORNO DE NEUMANN: NODOS FICTICIOS 45

    Hacemos la discretitzación en el espacio (∆x = b−aN−1):

    a = x1 x1 x2 x3 xN−1 b = xN

    Ahora Ui (t) es incógnita en todos los nodos en [a, b], i = 1, . . . , N . Imponemos la apro-ximación de la EDP en {xi}Ni=1:

    dUidt =

    ν

    ∆x2 [Ui−1 − 2Ui + Ui+1] , i = 1, . . . , N

    x0 a = x1 x1 x2 x3 xN−1 b = xN xN+1

    Introducimos un nodo ficticio para cada contorno de Neumann (x0 y xN+1). Tenemos unaincógnita adicional para cada nodo ficticio, pero la despejaremos en función de {Ui}Ni=1haciendo servir las condiciones de contorno. En x = a:

    qa = −ν∂u

    ∂x(a) = −ν

    [u2 − u0

    2∆x +O(∆x2

    )].

    Menospreciando O(∆x2

    )obtenemos la aproximación deseada

    qa = −ν[U2 − U0

    2∆x

    ]=⇒ U0 = U2 + qa

    2∆xν

    .

    Sustituyendo en la ecuación por i = 1 tenemos

    dU1dt =

    ν

    ∆x2 [−2U1 + 2U2] +2

    ∆xqa.

    Análogamente en x = b:

    qb = ν∂u

    ∂x(b) = ν

    [UN+1 − UN−1

    2∆x +O(∆x2

    )],

    qb = ν[UN+1 − UN−1

    2∆x

    ]=⇒ UN+1 = UN−1 + qb

    2∆xν

    .

    y tenemosdUNdt =

    ν

    ∆x2 [2UN−1 − 2UN ] +2

    ∆xqb.

    Por lo tanto, el problema del valor inicial es

    dŪdt = A∼Ū + F̄Ū (0) = Ū0

  • 46 TEMA 6. INTRODUCCIÓN A LOS MÉTODOS NUMÉRICOS PARA EDPS

    con

    Ū =

    U1...UN

    ,

    A∼ =

    −2 21 −2 1

    . . . . . . . . .1 −2 1

    2 −2

    ν

    ∆x2 ,

    F̄ =

    qa0...0qb

    2

    ∆x,

    Ū0 =

    f (x1)

    ...f (xN)

    .

    6.3. Otras EDPsEcuación de la calor transitoria: ecuación parabólica (condición de contorno en todoel contorno),

    ∂u

    ∂t= ν ∂

    2u

    ∂x2︸︷︷︸difusión

    .

    Ecuación de convección/transporte: ecuación hiperbólica,

    ∂u

    ∂t+ a

    convección︷︸︸︷∂u

    ∂x︸ ︷︷ ︸u(x,t)=u0(x−at)

    = 0.

    Discretización en el espacio:

    dUidt +

    a

    2∆x [Ui+1 − Ui−1] = 0.

    El error es O(∆x2

    )y por lo tanto

    dŪdt = A∼Ū + F̄ , con A∼ =

    0 1−1 . . . . . .

    . . . . . . 1−1 0

    −a

    2∆x.

  • 6.3. OTRAS EDPS 47

    Con la aproximación centrada en ∂u∂x

    vemos que los vaps de A son λi = ai (imaginariospuros). Si hacemos aproximación “upwind” (contracorriente):

    ∂u

    ∂x |x=xi= ui − ui−1∆x +O (∆x)

    A∼ = −

    1−1 . . .

    . . . . . .−1 1

    a

    ∆x =⇒ λi =−a∆x

    y por lo tanto podemos aplicar el método de Euler.

  • 48 TEMA 6. INTRODUCCIÓN A LOS MÉTODOS NUMÉRICOS PARA EDPS

  • Índice alfabético

    convergenciade orden p, 3lineal, 3superlineal, 3

    Cuadratura de Newton-Cotes, 21

    errorabsoluto, 3global, 34local, 33relativo, 6

    factorasintótico de convergencia, 4de amplificación, 34

    interpolación de Lagrange, 13

    métodoconsistente, 2convergente, 3estable, 34incondicionalmente estable, 34numérico, 32

    orden, 34de una cuadratura, 22

    polinomio interpolador de Lagrange, 13

    región de estabilidad, 34

    tabla de Butcher, 37

    49

    Ceros de funcionesMétodos clásicosMétodo de la bisecciónMétodo de NewtonMétodo de la secante

    Consistencia y convergenciaAnálisis del método de NewtonGráficos de convergenciaCriterios prácticos de convergencia

    Métodos híbridos

    Sistemas de ecuaciones no linealesMétodo de Newton-RaphsonMétodos casi-NewtonMétodo de Broyden

    Aproximación funcionalInterpolación polinómicaTeorema del residuo de Lagrange

    Interpolación de SplinesSplines lineals (m=1) C0Splines cuadráticos (m=2) C1Splines cúbicos (m=3) C1Splines cúbicos (m=3) C2Teorema de la suavidad del Spline natural

    Mínimos cuadradosEcuaciones normales (caso lineal)Aproximación per mínimos cuadrados con polinomios

    Integración numéricaIntroducciónCuadratura de Newton-CotesFórmula del trapecioCuadratura de Simpson

    Cuadraturas de GaussCuadraturas compuestasCompuesta del trapecioCompuesta de SimpsonError de las cuadraturas cerradas de Newton-Cotes

    Integración múltiple

    Métodos numéricos para EDOsIntroducciónMétodo de EulerMétodo de Euler hacia atrásMétodo de diferencias centradasError local, global y orden de convergenciaAnálisis de la estabilidad de los métodos numéricos para EDOsMétodo de EulerMétodo de Euler hacia atrásMétodo de las diferencias centradas

    Métodos de Runge-kuttaMétodo de HeunMétodos de Runge-Kutta

    Introducción a los métodos numéricos para EDPsIntroducciónEcuación parabólica

    Condiciones de contorno de Neumann: nodos ficticiosOtras EDPs

    Índice alfabético