Capitulo3 interpolación polinomial y splines cúbico

Embed Size (px)

Citation preview

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    1/53

    Capítulo 3:

    Interpolación polinomial y

    splines cúbico

    Universidad Juárez Autónoma de Tabasco

    Justino Alavez RamírezSeptiembre, 2015

    1/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    2/53

    Índice1. Interpolación polinomial global 3

    1.1. Existencia, unicidad y condicionamiento . . . . . . . . . . . . . . . . . . . . . 31.2. Interpolación polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3. Función de Runge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2. Interpolación por splines cúbico 45

    Referencias 53

    2/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    3/53

    Interpolación polinomial global

    Existencia, unicidad y condicionamiento

    Problema 1.1. Dado un conjunto de m puntos reales (x i , yi ), i = 1 : m, que se llamará datos con xi = x j , i = j , encontrar una función f : R −→ R que satisfaga

    f (x i ) = yi , i = 1 : m .

    A f se le llama función de interpolación o interpolante de los datos, y puede ser un polinomio,polinomio por piezas, función racional, función spline, trigonométrica y exponencial.

    Entre los propósitos de la interpolación están:

    1. Dibujar una curva suave a través de los datos.

    2. Interpolar o extrapolar puntos que no están en los datos.

    3. Evaluar una función matemática fácil y rápido.

    4. Aproximar una función matemática complicada por una más simple.3/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    4/53

    5. Hoy día la interpolación por polinomios sigue siendo la base de muchas fórmulas de usogeneral para la integración y diferenciación numérica.

    6. Más aún, la interpolación polinomial y racional se usan para construir métodos de extrapo-lación para problemas de integración de ecuaciones diferenciales y problemas relacionados.

    7. La interpolación por spline es una poderosa herramienta para representar curvas empíricasy para aproximar funciones matemáticas complicadas.

    ¿Cómo se construye un interpolante?

    Abordaremos el problema de interpolación lineal (incluye interpolación por polinomios y

    trigonométricas).Se necesita un conjunto linealmente independiente (l.i.) de funciones base

    {φ1(x), φ2(x), . . . , φn (x)}

    El interpolante f se construye en el espacio de dimensión n generado por estas funcionesbase, es decir

    f (x) :=n

    j =1c j φ j (x), x ∈ R ,

    donde c1, c2, . . . , c n , son parámetros por determinar.4/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    5/53

    Nótese que f depende linealmente de los parámetros c1, c2, . . . , c n .

    Puesto que

    f (x i ) = c1φ1(x i ) + c2φ2(x i ) + · · · + cn φn (x i ) = yi , i = 1 : m , (1)

    esto da lugar al sistema lineal de m ecuaciones con n incógnitas c1, c2, . . . , c n :

    Ac =

    φ1(x1) φ2(x1) · · · φn (x1)

    φ1(x2) φ2(x2) · · · φn (x2)

    ... ... . . . ...

    φ1(xm ) φ2(xm ) · · · φn (xm )

    c1

    c2

    ...

    cn

    =

    y1

    y2

    ...

    ym

    = y . (2)

    Así que

    • La existencia y unicidad de f se garantiza cuando m = n y A sea una matriz no singular.

    • La sensibilidad numérica del problema de determinar la solución c = ( c1, c2, . . . , c n )T apequeñas perturbaciones en los datos dependerá del número de condición de A, es decir,de κ(A) = A A− 1 cuando A es no singular.

    5/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    6/53

    Interpolación polinomial

    Sean (x i , yi ), i = 1 : n, un conjunto de datos. Podemos que x1 < x 2 < · · · < x n . Se construiráun polinomio de grado ≤ n − 1 que interpola a dichos datos de tres formas diferentes.

    1. Usando bases monomiales: {1, x , . . . , x n − 1}

    El interpolante polinomial que se obtiene es

    P n − 1(x) = c0 + c1x + · · · + cn − 1xn− 1, x ∈ R , ci ∈ R , i = 0 : n − 1 , (3)

    que se conoce como el interpolante estándar.De acuerdo con (1) y (3), el sistema lineal (2) toma la forma

    V n c =

    1 x1 x21 · · · xn − 11

    1 x2 x22 · · · xn − 12

    ... ... ... . . . ...

    1 xn x2n · · · xn− 1

    n

    c0

    c1...

    cn − 1

    =

    y1

    y2...

    yn

    = y , (4)

    donde la matriz V n se llama matriz de Vandermonde.6/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    7/53

    Ejercicio 1.1. Para la matriz de Vandermonde V n ∈ R n × n , demuestra que

    det( V n ) = Πi n n .

    Sugerencia. Estudia el teorema 1 en Gautschi (1962) [1].Ejercicio 1.3. Calcula el polinomio interpolante de grado ≤ 3 de los puntos (0, 0), (0.5, 1),(1, 3) y (2, 2). ¿Qué valor de y le corresponde x = 1.5?

    7/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    8/53

    2. Usando bases de Lagrange: { j (x)}n j =1 , donde

    j (x) = (x − x1) · · · (x − x j − 1)(x − x j +1 ) · · · (x − xn )(x j − x1) · · · (x j − x j − 1)(x j − x j +1 ) · · · (x j − xn )

    ; j = 1 : n (5)

    Todos las funciones base j (x) son polinomios de grado n − 1.

    j (x i ) = 0 si i = j y j (x i ) = 1 si i = j .

    Es claro que el polinomio interpolante de grado a lo más n − 1 está dado por

    P n − 1(x) = y1 1(x) + y2 2(x) + · · · + yn n (x) , (6)

    que se conoce como el interpolante de Lagrange.

    La matriz A del sistema lineal (2) se reduce a la matriz identidad I , por lo que no haynecesidad de resolver ningún sistema de ecuaciones lineales.

    El problema más signicativo que se presenta en este caso es la evaluación de P n − 1(x)dado en (6) en puntos de interés, pues en cada punto, se requiere evaluar los n polinomios j (x) que son de grado n − 1.

    Por lo que la evaluación del interpolante de Lagrange es más caro comparado con laevaluación del interpolante estándar dado en (3).

    8/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    9/53

    También es más difícil derivar e integrar el interpolante de Lagrange.

    Sin embargo, el interpolante de Lagrange tiene su importancia en otras cuestiones teóricas.Ejemplo 1.1. Calcular el polinomio interpolante de los puntos (0, 0), (1, 1) y (2, 0) usandola fórmula de Lagrange.

    Solución: Calculamos primero las funciones base de Lagrange:

    1(x) = (x − 1)(x − 2)(0 − 1)(0 − 2)

    = 12

    x2 − 3x + 2

    2(x) = (x − 0)(x − 2)(1 − 0)(1 − 2)

    = − x2 − 2x

    3(x) = (x − 0)(x − 1)(2 − 0)(2 − 1)

    = 12

    x2 − x

    p2(x) = 0 ∗ 1(x) + 1 ∗ 2(x) + 0 ∗ 3(x) + 0 4(x) = − x2 + 2 x

    Ejercicio 1.4. Considera los puntos (0, 1), (1, 2), (2, 2) y (3, 1).

    Calcula el polinomio interpolante usando la fórmula de Lagrange.

    Graca los puntos y su polinomio interpolante en un mismo sistema de coordenadas.

    ¿Cuál es el grado del polinomio interpolante? ¿Cuál es el valor del interpolante en x = 1 .5?

    9/5

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    10/53

    Algoritmo 1.1. Cálculo y evaluación del interpolante de Lagrange dado por ( 6 ) en mpuntos de interés w1, w2, . . . , w m .

    Datos de entrada: [x1 , x 2 , . . . , x n ], [y1 , y2 , . . . , y n ] y [w1 , w2 , . . . , w m ].Datos de salida: pj = P n − 1 (wj ), j = 1 : m .

    Para j = 1 : m , hacer pj ← 0Para i = 1 : n , hacer

    ← 1.0Para k = 1 : n , hacer

    ← ∗(wj − xk )/ (x i − xk ) si k = iTerminar

    pj ← pj + yi ∗Terminar

    Terminar.

    Ejercicio 1.5. Calcula el costo computacional (número de ops ) que se requieren para calcular el interpolante de Lagrange, y su evaluación en m puntos de interés, según el Algoritmo 1.1.Actividad 1.1. Programa el Algoritmo 1.1 en MATLAB o en tu lenguaje de preferencia y que genere las grácas del interpolante y los datos.

    10/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    11/53

    3. Usando bases de Newton:

    π1(x) = 1

    π2(x) = x − x1

    π3(x) = ( x − x1)(x − x2)

    π j (x) = ( x − x1)(x − x2) · · · (x − x j − 1), j = 4 , 5, . . . , n

    (7)

    Las funciones base π j (x) son polinomios de grado 0, 1, 2, hasta n − 1, respectivamente.

    Ademásπ j (x i ) = 0 si i < j, j = 2 , 3, . . . , n . (8)

    El polinomio interpolante de grado a lo más n − 1 en este caso es

    P n − 1(x) = c1π1(x) + c2π2(x) + · · · + cn πn (x) , (9)

    que se conoce como el interpolante de Newton.

    Por la propiedad (8), el sistema lineal que hay que resolver para obtener los parámetrosc1, c2, . . . , c n , toma la forma

    11/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    12/53

    Ac =

    1 0 0 · · · 0

    1 x2 − x1 0 · · · 0

    1 x3 − x1 (x3 − x1)(x3 − x2) · · · 0... ... ... . . . ...

    1 xn − x1 (xn − x1)(xn − x2) · · · πn (xn )

    c1

    c2

    c3...

    cn

    =

    y1

    y2

    y3...

    yn

    = y . (10)

    • La matriz A es triangular inferior.

    • det( A) = π2(x2) · π3(x3) · · · πn (xn ) = 0 , por lo que A es no singular.• En consecuencia, el sistema lineal (10) tiene una única solución c = ( c1, c2, . . . , c n )T .• Así que el interpolante de Newton dado por (9) siempre existe y es único.• La solución del sistema lineal (10) se obtiene con una sustitución progresiva, y está dada por

    c1 = y1

    c2 = y2 − y1x2 − x1

    c j = y j − j

    − 1k =1 πk (x j )ck

    π j (x j ) , j = 3 , 4, . . . , n .

    (11)

    12/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    13/53

    Diferencias divididas

    Los parámetros c1, c2, . . . , c n dados en (11) se les llama diferencias divididas y se denotanpor f [x1], f [x1, x2], . . . , f [x1, x2, . . . , x n ]:

    c1 = f [x1] = y1c2 = f [x1, x2] =

    y2 − y1x2 − x1

    c j = f [x1, x2, . . . , x j ] = y j − j

    − 1k =1 πk (x j )ck

    π j (x j ) , j = 3, 4, . . . , n .

    Ejercicio 1.6. Demuestra que

    f [x1, x2, . . . , x j ] = f [xσ (1) , xσ (2) , . . . , x σ ( j ) ] para toda σ ∈ S j ,

    donde S j es el grupo simétrico de grado j .

    Por lo que las diferencias divididas son invariantes respecto a las permutaciones de los subíndice

    1, 2, . . . , j .Una fórmula de recurrencia para calcular c j es la siguiente:

    c j = f [x1, x2, . . . , x j ] = f [x2, x3, . . . , x j ] − f [x1, x2, . . . , x j − 1]

    x j − x1, j = 2 : n . (12)

    13/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    14/53

    En la tabla 1 se muestra un esquema práctico para el cálculo de las diferencias divididas.

    j = 1 j = 2 j = 3 · · · j = n

    x1 y1f [x1, x2]

    x2 y2 f [x1, x2, x3]

    f [x2, x3]

    x3 y3... f [x1, x2, . . . , x n ]...

    ... ... f [xn − 2, xn − 1, x n ]

    f [xn − 1, xn ]

    xn yn

    Tabla 1: Esquema práctico para el cálculo de las diferencias divididas.

    14/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    15/53

    Ejemplo 1.2. Calcula las diferencias divididas de los puntos (− 1, − 3), (0, − 2), (1, − 1) y (2, 6), y obtenga su polinomio interpolante.

    Solución. Calculamos primero las diferencias divididas

    j = 1 j = 2 j = 3 j = 4

    − 1 − 3

    f [x1, x2] = 1

    0 − 2 f [x1, x2, x3] = 0

    f [x2, x3] = 1 f [x1, x2, x3, x4] = 1

    1 − 1 f [x2.x3, x4] = 3

    f [x3, x4] = 7

    2 6

    Tabla 2: Cálculo de las diferencias divididas del ejemplo 1.2.

    Así que: c1 = − 3, c2 = 1 , c3 = 0 y c4 = 1 .

    15/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    16/53

    Por lo tanto, el interpolante es

    P 4(x) = − 3 + ( x + 1) + ( x + 1) x(x − 1) = x3 − 2 .

    Algoritmo 1.2. Cálculo de las diferencias divididas.

    Datos de entrada: [x1 , x 2 , . . . , x n ] y [y1 , y2 , . . . , y n ].Datos de salida: c1 , c2 , . . . , c n .

    Para j = 1 : n , hacer cj ← yj

    Terminar

    Para k = 1 : n − 1, y Para j = n : − 1 : k + 1 , hacer

    cj ← cj − cj − 1x j − x j − k

    Terminar

    Terminar.

    16/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    17/53

    Algoritmo 1.3. Evaluación del interpolante de Newton dado por ( 9 ) en m puntos de in-terés w1, w2, . . . , w m , vía diferencias divididas.

    Datos de entrada: [x1 , x 2 , . . . , x n ], [c1 , c2 , . . . , c n ] y [w1 , w2 , . . . , w m ].Datos de salida: p

    j = P

    n− 1 (w

    j), j = 1 : m .

    Para j = 1 : m , hacer pj ← cnPara k = n − 1 : − 1 : 1, hacer

    pj ← pj (wj − xk ) + ckTerminar

    Terminar.

    Ejercicio 1.7. Calcula el costo computacional (número de ops ) que se requieren para calcular el interpolante de Newton (Algoritmo 1.2 ), y su evaluación en m puntos de inte-rés (Algoritmo 1.3 ). Compara con el costo del Algoritmo 1.1 que obtuvo en el ejercicio 1.5 .

    Actividad 1.2. Escriba un programa en MATLAB o en tu lenguaje de preferencia que integre los algoritmos 1.2 y 1.3 y genere las grácas del interpolante y los datos.

    17/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    18/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    19/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 1: Gráca de la función de Runge.

    19/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    20/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 2: Polinomio interpolante de grado 4.

    20/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    21/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 3: Polinomio interpolante de grado 5.

    21/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    22/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 4: Polinomio interpolante de grado 6.

    22/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    23/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 5: Polinomio interpolante de grado 7.

    23/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    24/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 6: Polinomio interpolante de grado 8.

    24/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    25/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    26/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 8: Polinomio interpolante de grado 10.

    26/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    27/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 9: Polinomio interpolante de grado 11.

    27/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    28/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 10: Polinomio interpolante de grado 12.

    28/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    29/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 11: Polinomio interpolante de grado 13.

    29/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    30/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 12: Polinomio interpolante de grado 14.

    30/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    31/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 13: Polinomio interpolante de grado 15.

    31/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    32/53

    f R (x) = 1

    1 + 25x2 , − 1 ≤ x ≤ 1

    −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1

    −1

    −0.5

    0

    0.5

    1

    1.5

    2

    Figura 14: Polinomio interpolante de grado 16.

    32/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    33/53

    Ahora consideramos f (x) cos( x) sobre el intervalo [ π, π ]

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 15: Gráca de f (x ) = cos x .

    33/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    34/53

    Ahora consideramos f (x) cos( x) sobre el intervalo [ π, π ]

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 16: Polinomio interpolante de grado 1.

    34/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π, π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    35/53

    Ahora consideramos f (x) cos( x) sobre el intervalo [ π, π ]

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 17: Polinomio interpolante de grado 2.

    35/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    36/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π, π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    37/53

    ( ) ( ) [ , ]

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 19: Polinomio interpolante de grado 4.

    37/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π, π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    38/53

    ( ) ( )

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 20: Polinomio interpolante de grado 5.

    38/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π, π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    39/53

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 21: Polinomio interpolante de grado 6.

    39/53

    Ahora consideramos f (x) = cos( x) sobre el intervalo [− π, π ]

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    40/53

    xk = − π + 2πn − 1

    (k − 1), k = 1 , 2, . . . , n

    yk = cos( xk ), k = 1, 2, . . . , n

    −4 −3 −2 −1 0 1 2 3 4

    −1

    −0.8

    −0.6

    −0.4

    −0.2

    0

    0.2

    0.4

    0.6

    0.8

    1

    Figura 22: Polinomio interpolante de grado 7.

    40/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    41/53

    Teorema 1.1. Si f tiene derivadas continuas hasta de orden n y P n − 1 es el polinomiode grado a lo más n − 1 que interpola a f en n puntos (x i yi ) i = 1 : n dados con

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    42/53

    de grado a lo más n 1 que interpola a f en n puntos (x i , yi ), i = 1 : n dados, con a = x1 < x 2 < · · · < x n = b, entonces para cada x ∈ [a, b] existe un θ ∈ (a, b) tal que

    f (x) − P n − 1(x) = f (n ) (θ)

    n! w(x) , (13)

    donde w(x) = ( x − x1)(x − x2) · · · (x − xn ) . (14)

    Demostración. Se sigue al aplicar n − veces el teorema de Rolle.

    Ejercicios

    1. ¿Es la interpolación polinomial por n nodos siempre de grado n − 1? Ilustra con ejemplos.

    2. Para los datos (1, 2) y (2, 4), halla el polinomio p(x) de menor grado que los interpola.

    Halla también un polinomio q (x) de grado dos que interpola estos datos. ¿Contradice estoel teorema de unicidad de la interpolación?

    3. Sea f (x) un polinomio de grado n. Demuestra que si p(x) es el polinomio de grado menoro igual a n que interpola a f (x) por n + 1 puntos, entonces p(x) ≡ f (x).

    42/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    43/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    44/53

    7. Sea pn (x) el polinomio de grado a lo más n que interpola a ex por los nodos xi = in

    ,

    i = 0 : n. ¿Qué tan grande debe ser n para que

    |ex − pn (x)| ≤ 10− 7 ,

    para toda x ∈ [0, 1]?

    8. Considera a la función f (x) = sen ( x), x ∈ [0, π/ 2]. Sea pn − 1(x) el polinomio de gradoa lo más n − 1 que interpola a f (x) por los nodos 0 = ξ 1 < ξ 2 < · · · < ξ n = π/ 2(igualmente espaciados). ¿Cuál es la menor n tal que

    |sen(x) − pn − 1(x)| ≤ 10− 7 ,

    para toda x ∈ [0, π/ 2]?

    44/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    45/53

    Interpolación por splines cúbicoSea Π := a = x1 < x 2 < · · · < x n = b una partición del intervalo [a, b].

    Denición 2.1. Un spline cúbico sobre la partición Π es una función s : [a, b] → R con las propiedades:

    A). s ∈ C 2[a, b], es decir, s es continua sobre [a, b] y existen s y s sobre [a, b] y son continuas.

    B ). s coincide sobre cada [x i , x i +1 ] con un polinomio cúbico, i = 1 : n − 1.

    Así que un spline cúbico consta de n − 1 polinomios cúbicos por piezas cuyos valores y los dsus primeras dos derivadas coinciden en los nodos o puntos de ruptura xi , i = 2 : n − 1.

    Un spline cúbico interpolante de los puntos (x i , yi ), i = 1 : n, es un spline cúbico s quesatisface

    s(x i ) = yi , i = 1 : n .

    45/53

    ¿Cómo se Calcula un spline cúbico interpolante?

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    46/53

    s(x) polinomio cúbico sobre [x i , x i+1 ] implica que s (x) es un segmento de recta en [x i , x i+1 ].Por lo tanto

    s (x) = s (x i ) + s (x i +1 ) − s (x i )

    x i+1 − x i(x − x i ) . (15)

    Integrando sobre [x i , x], x ≤ xi+1 :

    s (x) = s (x i ) + s (x i )(x − x i ) + s (x i+1 ) − s (x i )

    2(x i+1 − x i ) (x − x i )2 . (16)

    Integrando de nuevo:

    s(x) = yi + s (x i )(x − x i ) + s (x i )

    2 (x − x i )2 +

    s (x i+1 ) − s (x i )6(x i+1 − x i )

    (x − x i )3 . (17)

    Abreviando: hi = xi +1 − x i , i = 1 : n − 1, si = s (x i ) y si = s (x i ), i = 1 : n :

    yi+1 = s(x i+1 ) = yi + si h i + s

    i2 h2i + si

    +1 − s i

    6h i h3i ,

    de dondes i =

    yi +1 − yih i

    − hi3

    s i − hi6

    si+1 , i = 1 : n − 1 . (18)46/53

    Ejercicio 2.1. Demuestra que

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    47/53

    sn = yn − yn − 1

    hn − 1+

    hn − 16

    sn − 1 + hn − 1

    3 sn .

    Si se denota el spline cúbico que corresponde al intervalo [x i − 1, x i ] por z(x), entonces lasexpresiones equivalentes a (16) y (17) para z (x) y z(x) son

    z (x) = z (x i − 1) + z (x i − 1)(x − x i − 1) + z (x i ) − z (x i − 1)

    2(x i − x i − 1) (x − x i − 1)2 ,

    yz(x) = yi − 1 + z (x i − 1)(x − x i − 1) +

    z (x i − 1)2

    (x − x i − 1)2 + z (x i ) − z (x i − 1)

    6(x i − x i − 1) (x − x i − 1)3 .

    Evaluando ambas expresiones en xi resultan

    z (x i ) = z (x i − 1) + z (x i − 1)h i − 1 + z (x i ) − z (x i− 1)

    2 hi − 1 ,

    z(x i ) = yi − 1 + z (x i − 1)h i − 1 + z (x i − 1)

    2 h2i − 1 +

    z (x i ) − z (x i − 1)6

    h2i − 1 .(19)

    47/53

    Por la continuidad de s(x), s (x) y s (x) en xi se sigue que

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    48/53

    z(x i ) = s(x i ) = yi , z (x i ) = s (x i ) y z (x i ) = s (x i ), i = 2 : n − 1 .

    Por lo que las igualdades en (19) se pueden escribir como

    s i = s i − 1 + hi − 1

    2 si − 1 +

    hi − 12

    si y si − 1 = yi − yi − 1

    h i − 1−

    hi − 13

    si − 1 − hi − 1

    6 si ,

    que son equivalentes a

    s i =

    yi − yi − 1h i − 1 +

    hi − 16 si − 1 +

    hi − 13 si . (20)

    Igualando (18) con (20) se obtiene el sistema tridiagonal

    h i − 1s i − 1 + 2( h i − 1 + hi )s i + hi s i +1 = 6yi+1 − yi

    h i−

    yi − yi − 1h i − 1

    , i = 2 : n − 1 . (21)

    El sistema (21) está subdeterminado pues tiene n − 2 ecuaciones y n incógnitas s1 , s2 , . . . , s n ,por lo que no se garantiza la unicidad del spline cúbico. Hay varias alternativas para abordael problema, las más comunes son:

    48/53

    Teorema 2.1. Cada una de las condiciones:

    A) ( ) (b) 0 “ li úbi t l”

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    49/53

    A). s (a) = s (b) = 0 , “spline cúbico natural”.

    B ). s(k ) (a) = s(k )(b), k = 0, 1 y 2, “spline cúbico periódico”.

    C ). s (a) = y1, s (b) = yn , con y1 y yn dados, “spline cúbico completo”.Garantizan la existencia y unicidad del spline cúbico s(x) que interpola los puntos (x1, y1),(x2, x2), . . . , (xn , yn ).

    Demostración. Una prueba se encuentra en [ 8].

    Ejemplo 2.1. Determina el spline cúbico natural que interpola los puntos (0, 1), (1, 2),(2, 0.5) y (2.5, 2), en una aritmética otante de precisión 4.

    Solución. h1 = 1, h2 = 1 y h3 = 0 .5.

    s1 + 4s2 + s3 = − 15

    s2 + 3s3 + 0 .5s4 = 27(22)

    Para un spline cúbico natural: s1 = s4 = 0.49/53

    Así que el sistema tridiagonal (22), se reduce al sistema:

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    50/53

    4s2 + s3 = − 15

    s2 + 3s3 = 27

    cuya solución es s2 = − 0.6545 × 101 y s3 = 0 .1118 × 102 .

    Haciendo uso de (18), se obtienen las derivadas en los primeros tres nodos:

    s1 = 2 .091 , s2 = − 1.181 y s3 = 1.136 .

    Ahora, de acuerdo con la fórmula (17) se obtiene el spline cúbico natural deseado:

    s(x) =

    1 + 2 .091x − 1.091x3 , 0 ≤ x ≤ 1

    2 − 1.181(x − 1) − 3.272(x − 1)2 + 2 .953(x − 1)3 , 1 ≤ x ≤ 2

    0.5 + 1 .136(x − 2) + 5 .590(x − 2)2 − 3.727(x − 2)3 , 2 ≤ x ≤ 2.5 .

    Una ventaja de interpolar una función f sucientemente suave con splines cúbicos, es quepermite estimar también f , f y f con aceptable precisión.

    50/53

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    51/53

    3. La función gamma está denido por

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    52/53

    Γ(x) = ∞

    0tx − 1e− t dt, x > 0 .

    A). Puesto queΓ(n) = ( n − 1)! , n ∈ Z + ,

    complete la siguiente tabla

    x i 1 2 3 4 5

    yi 1

    que aproxima a la función gamma sobre [1, 5].

    B). Calcule el polinomio de grado 4 que interpola los puntos de la tabla.

    C). Use una rutina de spline cúbico para interpolar los datos de la tabla.D). ¿Cuál de los dos interpolantes es más exacto sobre todo el dominio de interpolación?

    E). ¿Cuál de los dos interpolantes es más exacto entre 1 y 2?

    52/53

    Referencias

  • 8/16/2019 Capitulo3 interpolación polinomial y splines cúbico

    53/53

    Referencias[1] Gautschi, W. On inverses of Vandermonde and Conuent Vandermonde Matrices . Nu-

    merische Mathematik, 4, 117–123, 1962.

    [2] Davis, Ph.J.: Interpolation and Aproximation . Dover, 1975.

    [3] Heath, M.T.: Scientic Computing: An Introductory Survey . McGraw-Hill, N.Y., 2ndEdition, 2002.

    [4] Kahan, W.: Numerical Linear Algebra . Canadian Math. Bull. 9, 757-801, 1966.[5] Kahaner, D., Moler, C.B., Nash, S.: Numerical Methods and Software . Prentice-Hall,

    Englewood Cliffs, N.J., 1989.

    [6] Rivlin, Th.J.: An Introduction to the Aproximation of Functions . Dover, 1981.

    [7] Shampine, L.F., Allen, R.C. Jr., Pruess, S.: Fundamentals of Numerical Computing .John Wiley & Sons, Inc., 1997.

    [8] Stoer, J., Bulirsch, R.: Introduction to Numerical Analysis . Springer-verlag, 1993.53/53