95
UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE MINAS DEPARTAMENTO DE MATEMÁTICA APLICADA Y MÉTODOS INFORMÁTICOS Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS Tema: INTERPOLACIÓN DE LAGRANGE POLINÓMICA POR TRAMOS Prof. Carlos Conde Lázaro Prof. Arturo Hidalgo López Prof. Alfredo López Benito Marzo, 2007

UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

  • Upload
    vankhue

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

UNIVERSIDAD POLITÉCNICA DE MADRID

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE MINAS

DEPARTAMENTO DE MATEMÁTICA APLICADA Y

MÉTODOS INFORMÁTICOS

Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS

Tema: INTERPOLACIÓN DE LAGRANGE

POLINÓMICA POR TRAMOS

Prof. Carlos Conde Lázaro Prof. Arturo Hidalgo López Prof. Alfredo López Benito

Marzo, 2007

Page 2: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

ii

ÍNDICE Pág. 1. MOTIVACIÓN. ………………………………………………………… 1 2. INTERPOLACIÓN DE LAGRANGE POLINÓMICA POR TRAMOS. 9 2.1. Espacios de Lagrange de funciones polinómicas por

tramos. ………………………………………………………. 9 2.2. Interpolación de Lagrange con funciones polinómicas de primer grado por tramos. …………………………………. 28 2.3. Interpolación de Lagrange con funciones polinómicas de segundo grado por tramos. ………………………………. 50

2.3. Interpolación de Lagrange con funciones polinómicas por tramos: caso general. …….………………………………. 78 BIBLIOGRAFÍA SOBRE EL TEMA. …………………………………….. 91

Page 3: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

1

1. Motivación Considérese la función f(x) = (1+x2)-1/2 . El grafo de esta función en el intervalo [-8, 8] se recoge en la figura siguiente:

Su polinomio interpolador de Lagrange, p4(x), sobre un soporte equidistante que esté formado por los 5 puntos -8, -4, 0, 4, 8 tiene el grafo que se muestra en la figura siguiente:

La menor cota del valor absoluto del error de interpolación en el intervalo [-8, 8] es |f(x) – p4(x)| ≤ 0.3768.... ≈ 0.38 [ ]x 8,8∀ ∈ − .

Page 4: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

2

Podría pensarse que, al ser la función f(x) considerada una función muy regular, la cota del error de interpolación puede disminuirse fácilmente sin más que considerar soportes formados por más puntos. En ese sentido las figuras siguientes recogen los grafos (limitando el dibujo a la ventana [-8, 8]×[-5, 1]) de los polinomios p8(x) y p16(x) que se obtendrían actuando respectivamente con los soportes -8, -6, -4, -2, 0, 2, 4, 6, 8 y -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8 .

Page 5: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

3

Estas figuras ponen de manifiesto que en este caso un aumento del número de puntos del soporte de interpolación, lejos de disminuir la cota del error de interpolación, conduce a cotas de error que son mayores que en el caso del soporte con 5 puntos. El motivo de que así suceda radica en que los polinomios de grado elevado pueden presentar comportamientos muy oscilantes si poseen un número “elevado” de raíces en intervalos relativamente “pequeños”. En este sentido parece aconsejable evitarlos cuando se interpolan funciones que tengan un comportamiento “suave”.

Pero incluso cuando se interpolan funciones con comportamientos oscilatorios también pueden ser desaconsejables los polinomios de grado elevado. Ejemplo de ello son los polinomios representados en la figura siguiente que interpolan a la función f(x) = sen( 2·π x ) (dibujada en rojo) en el intervalo [0, π ] utilizando soportes equidistantes con 5 , 9 y 17 puntos y en los que el primer punto es siempre 0 y el último π .

Nuevamente puede apreciarse como el incremento del número de puntos del soporte de interpolación no implica reducciones en la cota de error si no, al contrario, incrementa dicha cota.

Page 6: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

4

Para mejorar la precisión, tal y como se indicó en el tema dedicado al estudio de la interpolación polinómica de Lagrange hay dos vías: 1ª) ubicar los puntos del soporte de manera más eficiente (como se logra, por ejemplo, utilizando los soportes de Chebyshev introducidos al estudiar la interpolación de Lagrange), y 2ª) realizar el proceso de interpolación por tramos. Esta segunda forma de proceder es la que se desarrolla en el presente tema.

Antes de profundizar en ella observemos que la función considerada

inicialmente, f(x) = (1+x2)-1/2 , es interpolada sobre el soporte -8, -4 por el

polinomio (1) 1 1 1 1v (x) x 1 x 265 4 17 4

⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜=− + + +⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠ . Representando el gráfico de

f(x) y de v(1)(x) en el intervalo [-8, 4] se tiene la figura siguiente:

Análogamente el polinomio v(2)(x) que interpola a f(x) sobre el soporte

-4, 0 es (2) 1 1 xv (x) x 117 4 4

⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜=− + +⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠. Las gráficas de f(x) y de v(2)(x) en el

intervalo [-4, 0] son la que se muestran en la figura siguiente:

Page 7: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

5

Por otra parte, el polinomio v(3)(x) que interpola a f(x) sobre el soporte

0, 4 es (3) x 1 xv (x) 14 17 4

⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜= − +⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠. Las gráficas de f(x) y de v(3)(x) se muestran

en la figura siguiente.

Finalmente, el polinomio v(4)(x) que interpola a f(x) sobre el soporte 4, 8

es (4) 1 x 1 xv (x) 2 117 4 65 4

⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜= − + −⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠ y las gráficas de f(x) y de v(4)(x) son las

que se recogen en la figura siguiente:

Si consideramos entonces una función v(x) definida por tramos en el intervalo [-8, 8] de la forma:

Page 8: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

6

( ) ( ) [ ]( ) ( ) [ ]( ) ( ) [ ]

( ) ( ) [ ]

(1) 1 x 1 x17 4 65 4

(2) x 1 x4 17 4

(3) x 1 x4 17 4

(4) 1 x 1 x17 4 65 4

v (x) 2 1 si x 8, 4

v (x) 1 si x 4,0v(x)

v (x) 1 si x 0,4

v (x) 2 1 si x 4,8

⎧⎪ = + − + ∈ − −⎪⎪⎪⎪ = − − ∈ −⎪⎪= ⎨⎪ = − + ∈⎪⎪⎪⎪ = − + − ∈⎪⎪⎩

es evidente que dicha función satisface v(xi) = f(xi) ix 8, 4,0,4,8∀ ∈ − − . En

otros términos la función v(x) interpola en el sentido de Lagrange a f(x) sobre el soporte -8, -4, 0, 4, 8.

Obsérvese que la función v(x) no es un polinomio. Cada uno de los 4 tramos usados para definirla es un polinomio de primer grado, pero en su conjunto la función v(x) no lo es. Asimismo podemos observar que v(x) es una función continua (no presenta “saltos”) en el intervalo ]-8 , 8[ .

La figura siguiente recoge, en el intervalo [-8, 8] los gráficos de v(x) y de f(x), gráficos que pueden considerarse la “unión” de los 4 gráficos anteriores.

La cota del error de interpolación |E(x)| = |f(x) – v(x)| en el intervalo [0, 8] se determinará en este caso como la mayor de las cotas de los errores de interpolación en cada tramo. Así es fácil demostrar que:

Page 9: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

7

|f(x) – v(1)(x) | ≤ 0.02 [ ]x 8, 4∀ ∈ − −

|f(x) – v(2)(x) | ≤ 0.18 [ ]x 4,0∀ ∈ −

|f(x) – v(3)(x) | ≤ 0.18 [ ]x 0,4∀ ∈

|f(x) – v(1)(x) | ≤ 0.02 [ ]x 4,8∀ ∈

por lo que:

|E(x)| [ ]x 8,8

Sup f(x) v(x)∈−

≤ − =

[ ] [ ] [ ] [ ]

(1) (2) (3) (4)

x 8, 4 x 4,0 x 0,4 x 4,8Sup Sup f(x) v (x) , Sup f(x) v (x) ,Sup f(x) v (x) ,Sup f(x) v (x)

∈− − ∈− ∈ ∈

⎧ ⎫⎪ ⎪⎪ ⎪= − − − − =⎨ ⎬⎪ ⎪⎪ ⎪⎩ ⎭

= Sup 0.02, 0.18, 0.18, 0.02 = 0.18

Puede comprobarse como, actuando por tramos, hemos logrado reducir la cota de error de interpolación obteniendo una función que, pese a no ser un polinomio, es fácil de manipular (pues en cada uno de los tramos está definida por una expresión polinómica) y muy sencilla de calcular (pues en cada tramo el cálculo de su expresión se reduce a seguir un proceso de interpolación con un “bajo” número de puntos de soporte). El ejemplo que se acaba de desarrollar es un caso particular de lo que se conoce como interpolación polinómica por tramos (o “a trozos”). En general se denomina así a todo proceso de interpolación (ya sea de Lagrange o ya sea de Hermite) en el que la función interpoladora se define por tramos a partir de los polinomios interpoladores resultantes en cada uno de los subintervalos en que se subdivida el intervalo al que pertenezcan los puntos del soporte original. Si los subintervalos que se escojan no tienen por extremos puntos del soporte no se garantizará la continuidad de la función interpoladora. Si por el contrario los subintervalos se construyen de forma tal que sus extremos son puntos del soporte, la función interpoladora v(x) será continua (aun en el caso de que la función que se interpola, f(x), no lo sea). En estos apuntes nos consideraremos sólo esta segunda situación, es decir que nos centraremos en la búsqueda de funciones interpoladoras que sean continuas en el intervalo en el que se interpola.

Por otra parte, el grado de las expresiones polinómicas que definen a la función interpoladora v(x) en cada tramo se relacionará con el número de puntos de soporte en cada subintervalo y con las condiciones (igualdades de

Page 10: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

8

valor de las funciones, de sus derivadas hasta un orden dado, ...) que se impongan en ellos1. Por ello, en general, el grado de cada uno de los polinomios que define a la función interpoladora en cada uno de sus tramos no tiene por qué ser el mismo.

En los apartados que siguen analizaremos el proceso de interpolación por tramos, refiriéndonos al caso de interpolación de Lagrange en el que sólo se obliga a que la función a interpolar, f(x), y la función interpoladora, v(x), tomen los mismos valores en los puntos del soporte. Este tipo de interpolación puede generalizarse con interpolación de tipo Hermite (en el que en cada punto del soporte se hacen coincidir el valor de f(x) y de v(x) así como el de las derivadas de ambas funciones hasta un grado prefijado). También existen otros tipos de interpolación por tramos que no contemplamos en estos apuntes como es la interpolación spline, en la que obligando a la coincidencia de valor de las funciones f(x) y v(x) en todos los puntos del soporte más a alguna coincidencia del valor de las primeras derivadas en alguno de los puntos del soporte se pueden obtener funciones polinómicas por tramos continuas y con mayor regularidad (como por ejemplo con las primeras derivadas de la función interpoladora continuas en todo el intervalo en el que se realice la interpolación).

El planteamiento general de la interpolación por tramos nos obligará a

tener que complicar la notación con subíndices y superíndices. Esperamos que esta complejidad en la notación no hagan perder al lector la simplicidad de la idea que subyace en el proceso de interpolación por tramos y que hemos intentado plasmar en el ejemplo de motivación desarrollado anteriormente: realizar en cada tramo una interpolación de Lagrange o Hermite con pocos puntos del soporte.

1 Consúltese el tema anterior para mayor detalle.

Page 11: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

9

2. Interpolación de Lagrange polinómica por tramos. 2.1. Espacios de Lagrange de funciones polinómicas por tramos. Al estudiar los procesos de interpolación polinómica en el tema anterior buscábamos polinomios interpoladores del grado “adecuado”, es decir funciones interpoladoras que pertenecieran al espacio vectorial formado por todos los polinomios de grado menor o igual que un cierto valor entero “m”. De forma análoga, al enfrentarnos ahora al proceso de interpolación de Lagrange por tramos debemos concretar, en primer lugar, los espacios vectoriales en los que se buscarán las funciones interpoladoras. Una diferencia notable entre los procesos de interpolación polinómica abordados en el tema anterior y los de interpolación polinómica por tramos que consideraremos aquí es que mientras los espacios de polinomios están formados por funciones (los polinomios) definidas sobre toda la recta real los espacios de funciones interpoladores que consideraremos en este tema están formados por funciones definidas sólo en un cierto intervalo [x0, xn] y vinculados a una “partición” de dicho intervalo. Es por ello que antes de introducir estos espacios recordaremos algunos aspectos sobre las particiones. Dado un intervalo I = [x0, xn] denominaremos partición de I a cualquier subdivisión del mismo en k subintervalos I1 = [x0, a1] , I2 = [a1, a2], ......, Ik = [ak-1, xn] tales que:

• su unión coincida con [x0, xn]: [ ]k

j 0 nj 1

I x ,x=

≡∪

• la intersección del interior de dos subintervalos distintos cualesquiera

sea siempre vacía: j iI I 1 i, j k, i j= ∅ ≤ ≤ ≠∩ .

Entre las infinitas particiones posibles que se podrían realizar en un

intervalo [x0, xn] nos interesaremos sólo por aquellas que se realizan utilizando como extremos de los subintervalos Ij puntos de un soporte x0, x1, ..., xn previamente definido en [x0, xn]. A tales particiones las denotaremos como ∆ = I1, I2, ..., Ik. Por otra parte en todo este tema, para aligerar la terminología, fijado un intervalo [x0, xn] usaremos el término función para referirnos a la restricción de una función al intervalo [x0, xn]. Dicho de otra forma, sólo nos interesaremos por

Page 12: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

10

la expresión de la función en ese intervalo sin importarnos lo que suceda fuera de él. En ese sentido consideraremos como la misma función a todas aquellas que tengan la misma expresión en [x0, xn] aunque difieran fuera de este intervalo (2).

• Comencemos definiendo el espacio que denotaremos por L1(∆) . Para

ello sea x0, x1,....., xn un soporte formado por (n+1) puntos distintos que supondremos ordenados de menor a mayor y consideremos la partición del intervalo [x0, xn] dada por:

[ ] [ ] [ ] [ ] 1 0 1 2 1 2 i i 1 i n n 1 nI x ,x ,I x ,x ,...,I x ,x ,...,I x ,x− −∆= = = = =

Para esta partición ∆ denominaremos espacio de Lagrange asociado a la partición ∆, y lo representaremos como L1(∆), al conjunto formado por todas las funciones continuas(3) en [x0, xn] tales que en cada intervalo Ii (i = 1, ..., n) tienen una expresión polinómica de grado menor o igual a uno(4). En otros términos el espacio L1(∆) está formado por todas aquellas funciones u(x) que son continuas en [x0, xn] y tales que, para todo valor del índice “i” comprendido entre 1 y n, existe algún polinomio de grado inferior o igual a 1, p1,i(x), verificando que la expresión de u(x) en el intervalo Ii coincide con la de p1,i(x):

[ ]( ) 0

1 0 n i 1,i 1L ( ) u(x) C x ,x / x I : u(x) p (x) P (1 i n)∆ = ∈ ∀ ∈ ≡ ∈ ≤ ≤

2 Si quisiéramos ser rigurosos deberíamos hablar de clases de funciones formadas mediante la relación de equivalencia “ser iguales en el intervalo [x0, xn]. Pero para no abrumar al lector con “detalles” preferimos perder parte del rigor en aras a un más fácil seguimiento de la ya de por sí engorrosa terminología y notación. 3 Al haber considerado el intervalo [x0, xn] cerrado, entenderemos la continuidad en x0 como la igualdad entre el valor de la función en x0 y el valor del límite de dicha función cuando se hace tender x hacia x0 por la derecha. Análogamente entenderemos la continuidad en xn como la igualdad entre el valor de la función en xn y el valor del límite de dicha función cuando se hace tender x hacia xn por la izquierda. 4 En la notación usada, L1(∆), ∆ hace referencia a la partición de [x0, xn] utilizada y el subíndice “1” a que en cada subintervalo Ii de la partición las funciones del espacio se expresan mediante polinomios de grado inferior o igual a 1. Hemos utilizado la letra “L” para indicar que con las funciones de este espacio se realizará una interpolación de Lagrange. Esperamos que esta notación no confunda al lector con los espacios de Lebesgue Lp(Ω) que se utilizan en Análisis Funcional.

Page 13: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

11

De una forma más gráfica, el espacio L1(∆) está formado por todas aquellas funciones continuas tales que en cada intervalo Ii (i = 1, ..., n) su grafo es un segmento rectilíneo. Es decir, todas las funciones cuyos grafos sean líneas quebradas continuas de tramos rectilíneos en cada subintervalo. En otros términos los k polinomios p1,i(x) que definen en cada intervalo Ii a una función v(x) de L1(∆) pueden ser distintos o no y la única condición que deben cumplir es que p1,i(xi) = p1,i+1(xi) (i = 1, ..., n). Ilustrémoslo con algunos ejemplos.

Ejemplos: En los ejemplos que siguen, consideraremos el soporte 0, 1, 3, 4, 7, 9 y la partición de [0, 9]:

∆ = I1 = [0, 1], I2 = [1,3], I3 = [3, 4], I4 = [4, 7], I5 = [7, 9] 1º) La función f(x) = x es una función de L1(∆) pues es continua en [0, 9] y en cada uno de los subintervalos Ii ( I = 1, 2, 3, 4, 5) su expresión es un polinomio de grado 1 (el polinomio p1,i(x) = x).

2º) La función f(x) = x2 no pertenece a L2(∆) pues aunque es continua en [0, 9] su expresión en cada subintervalo no es un polinomio de grado menor o igual que 1(en todos los subintervalos es el polinomio de 2º grado x2).

Page 14: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

12

3º) La función [ ]] ]

1 x x 0,4f(x)

5 2x x 4,9

⎧⎪ − ∈⎪=⎨⎪ − ∈⎪⎩ es una función de L1(∆) pues es una

función continua que en cada subintervalo Ii tiene expresiones polinómicas de grado menor o igual que 1. Más concretamente:

[ ][ ][ ][ ][ ]

1 x si x 0,11 x si x 1,3

f(x) 1 x si x 3,45 2x si x 4,75 2x si x 7,9

⎧⎪ − ∈⎪⎪⎪ − ∈⎪⎪⎪⎪= − ∈⎨⎪⎪ − ∈⎪⎪⎪⎪ − ∈⎪⎪⎩

4º) La función

[ ]] ]] ]] ]] ]

2 x si x 0,1x si x 1,3

f(x) 9 2x si x 3,41 si x 4,7

6 x si x 7,9

⎧⎪ − ∈⎪⎪⎪ ∈⎪⎪⎪⎪= − ∈⎨⎪⎪ ∈⎪⎪⎪⎪− + ∈⎪⎪⎩

es una función de L1(∆) pues es una

función continua que en cada subintervalo I1 se define mediante un polinomio de grado inferior o igual a 1.

5º) La función f(x) = 3 x si x [0,3]1 2x si x ]3,9]⎧ ⎫− ∈⎪ ⎪⎪ ⎪⎨ ⎬⎪ ⎪+ ∈⎪ ⎪⎩ ⎭

no es una función de L1(∆) pues

aunque su expresión en cada subintervalo es un polinomio de primer grado, la

Page 15: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

13

función no es continua en [0, 9] al presentar un “salto” entre el límite por la izquierda y el límite por la derecha cuando x tiende a 3.

6ª) La función f(x) = 1 x si x 25 x si x 2

⎧ ⎫+ ≤⎪ ⎪⎪ ⎪⎨ ⎬⎪ ⎪− >⎪ ⎪⎩ ⎭ no es una función de L1(∆) pues,

aunque es continua, su expresión en el intervalo [1, 3] no es un polinomio de grado menor o igual a 1.

Obsérvese que la gráfica en [1, 3] de f(x) no es una línea recta sino una línea quebrada compuesta por dos tramos rectos.

• La partición considerada para definir el espacio L1(∆) utiliza subintervalos Ii = [xi-1, xi] (i = 1, ..., n) tales que en cada uno de ellos sólo hay dos puntos del soporte, precisamente sus extremos xi-1 y xi. El hecho de que sólo existan dos puntos del soporte en cada subintervalo obliga a que en cada uno de ellos sólo se pueda interpolar con polinomios de grado menor o igual que 1.

Pero, obviamente, podrían considerarse otras particiones diferentes. En efecto, supongamos por ejemplo que n es un número par y consideremos la partición ∆ siguiente:

[ ] [ ] [ ] n

21 0 2 2 2 4 i 2(i 1) 2i n 2 nI x ,x ,I x ,x ,...,I x ,x ,...,I x ,x− −⎡ ⎤∆= = = = =⎢ ⎥⎣ ⎦

Page 16: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

14

Ahora en cada subintervalo Ii = [x2(i-1) , x2i] (i = 1, ..., n/2) existen tres puntos del soporte: x2(i-1), x2(i-1) y x2i. Por ello en cada subintervalo podremos interpolar con un polinomio de grado menor o igual que 2. Es por ello natural definir espacio de Lagrange asociado a la partición ∆, que representaremos por L2(∆), como el espacio formado por todas las funciones continuas(5) en el intervalo [x0, xn] tales que en cada intervalo Ii (i = 1, ..., n/2) tienen una expresión polinómica de grado menor o igual a dos(6). En otros términos el espacio L2(∆) está formado por todas aquellas funciones u(x) que son continuas en [x0, xn] y tales que, para todo valor del índice “i” comprendido entre 1 y n/2, existe algún polinomio de grado inferior o igual a 2, p2,i(x), verificando que la expresión de u(x) en el intervalo Ii coincide con la de p2,i(x):

[ ]( ) 0 n22 0 n 2,i 2 iL ( ) u(x) C x ,x / u(x) p (x) P x I , 1 i∆ = ∈ ≡ ∈ ∀ ∈ ≤ ≤

De una forma más gráfica, el espacio L2(∆) está formado por todas aquellas funciones continuas tales que en cada intervalo Ii (i = 1, ..., n/2) su grafo es un segmento rectilíneo o parabólico. En otros términos los n/2 polinomios p2,i(x) que definen en cada intervalo Ii a una función v(x) de L2(∆) pueden ser distintos o no y la única condición que deben cumplir es que p2,i(x2i) = p2,i+1(x2i) (i = 1, ..., (n/2)-1). Ilustrémoslo con algunos ejemplos. Ejemplos: En los ejemplos que siguen, consideraremos el soporte 0, 1, 3, 4, 7, 9, 10 y la partición:

∆ = I1 = [0, 3], I2 = [3, 7], I3 = [7, 10] 1º) La función f(x)= x es una función de L2(∆) pues es continua en [0, 10] y su expresión en los tres subintervalos de la partición ∆ es un polinomio de grado menor o igual que 2 (en los tres es el polinomio “x” que es de grado 1).

5 Al igual que antes entenderemos la continuidad en x0 como la igualdad entre el valor de la función en x0 y el valor del límite de dicha función cuando se hace tender x hacia x0 por la derecha. Análogamente entenderemos la continuidad en xn como la igualdad entre el valor de la función en xn y el valor del límite de dicha función cuando se hace tender x hacia xn por la izquierda. 6 En la notación usada, L2(∆), ∆ hace referencia a la partición de [x0, xn] utilizada y el subíndice “2” a que en cada subintervalo Ii de la partición las funciones del espacio se expresan mediante polinomios de grado inferior o igual a 2. No debe confundirse este espacio con el espacio de Lebesgue L2(Ω).

Page 17: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

15

2º) La función f(x) = x2 –3x es una función de L2(∆) pues es continua en [0, 10] y su expresión en los tres subintervalos de la partición ∆ es un polinomio de grado menor o igual que 2 (en los tres es “x2-3x ” que es de grado 2).

3º) La función f(x) = 2

1 x si x 37 6x x si x 3

⎧ ⎫− <⎪ ⎪⎪ ⎪⎨ ⎬⎪ ⎪− + ≥⎪ ⎪⎩ ⎭ es una función de L2(∆) pues es

continua en [0, 9] y además en cada uno de los tres subintervalos de la partición puede expresarse mediante un polinomio de grado menor o igual a 2:

[ ][ ][ ]

2

2

1 x si x 0,3f(x) 7 6x x si x 3,7

7 6x x si x 7,10

⎧⎪ − ∈⎪⎪⎪= − + ∈⎨⎪⎪ − + ∈⎪⎪⎩

4º) La función f(x) = 2

3 x si x 47 6x x si x 4

⎧ ⎫− <⎪ ⎪⎪ ⎪⎨ ⎬⎪ ⎪− + ≥⎪ ⎪⎩ ⎭ no es una función de L2(∆) pues

aunque es continua en el intervalo [0, 10] su expresión en el subintervalo I2 = [3, 7] no coincide con la expresión de un único polinomio (cambia su expresión en el punto “x = 4” que es interior al intervalo I2) .

5º) La función f(x) = 2

3 x si x 37 6x x si x 3

⎧ ⎫− <⎪ ⎪⎪ ⎪⎨ ⎬⎪ ⎪− + ≥⎪ ⎪⎩ ⎭ no es una función de L2(∆) pues,

aunque su expresión en cada uno de los tres subintervalos es un polinomio de

Page 18: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

16

grado menor o igual que dos, no es continua en el intervalo [0, 10] (presentando un “salto” en el punto x = 3).

Obviamente existen muchas otras posibilidades para realizar la partición

del intervalo [x0, xn]. En general, siendo k un entero positivo, y dados k enteros positivos m1, m2, ... y mk, tales que su suma sea n, supondremos que en el soporte x0, ..., xn hay (m1 + m2 + ... + mk +1) = (n+1) puntos distintos y ordenados de menor a mayor, escribiendo, según convenga en cada caso, el soporte con alguna de las tres notaciones equivalentes siguientes:

1 1 1 2 1 2 1 2 3 1 2 k 1 1 2 k 1 1 2 k 1 k0 1 m m 1 m m m m 1 m m m m m ... m m m ... m 1 m m ... m mx ,x ,...,x ,x ,....,x ,x ,...,x ,......,x ,x ,...,x− − −+ + + + + + + + + + + + + + + + +

1 2 3 k 1 k0,1 1,1 m ,1 1,2 m ,2 1,3 m ,3 m ,k 1 1,k m ,kx ,x ,...,x ,x ,...,x ,x ,...,x ,.....,x ,x ,...,x

− −

o

k0,1 1,1 0,2 1,2 0,3 1,3 0,4 0,k 1 1,k m ,kx ,x ,...,x ,x ,...,x ,x ,...,x ,.....,x ,x ,...,x−

Obsérvese que la diferencia entre las dos últimas notaciones es que,

para 1 < j < k, denotaremos indistintamente a los puntos 1 2 jm m .. mx + + + como

jm ,jx

o como 0,j 1x + según consideremos que dicho punto es el último punto del

soporte del intervalo Ij o el primero de los puntos del soporte de Ij+1.

Con estas notaciones designaremos por ∆ a la partición del intervalo [ ]0 nx ,x en los k subintervalos Ij =

j0,j m ,jx ,x⎡ ⎤⎢ ⎥⎣ ⎦ (j = 1, ..., k). De esta manera al

subintervalo Ij pertenecen (mj + 1) puntos del soporte. La figura siguiente ilustra estas notaciones en el caso de un soporte con 16 puntos y una partición en la que el intervalo se subdivide en k = 6 subintervalos

Page 19: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

17

habiendo 4 puntos en el primero, 2 en el segundo, 5 en el tercero, 3 en el cuarto, 4 en el quinto y 3 en el sexto (es decir que m1 = 3, m2 = 1, m3 = 4, m4 = 2, m5 = 3 y m6 = 2).

Con la partición ∆ así formada en el subintervalo Ij = j0,j m ,jx ,x⎡ ⎤

⎢ ⎥⎣ ⎦ ( j = 1, ..,

k) puede interpolarse en el sentido de Lagrange con un polinomio de grado menor o igual que mj. Por ello denominaremos espacio de Lagrange asociado a la partición ∆, y lo representaremos por

1 2 km ,m ,..,mL ( )∆ , al espacio

formado por todas las funciones continuas en el intervalo [ ]0 nx ,x tales que

en cada intervalo Ij (j = 1, ..., k) tienen una expresión polinómica de grado menor o igual a mj. En el caso en que todos los índices m1, m2 , ..., mk tengan el mismo valor (m1= m2 = ...= mk = m) el espacio se denotará más brevemente por Lm(∆).

De una forma más gráfica, el espacio 1 2 km ,m ,..,mL ( )∆ está formado por

todas aquellas funciones continuas tales que en cada intervalo Ij (j = 1, ..., k) su grafo es un segmento polinómico de grado menor o igual a mj. En otros términos los k polinomios pj(x) que definen en cada intervalo Ii a una función v(x) de

1 2 km ,m ,..,mL ( )∆ no tienen por qué ser el mismo y las únicas condiciones

que deben cumplir es que su grado sea inferior o igual a mj y que j jj m ,j j 1 m ,jp (x ) p (x )+= (i = 1, ..., k). Ilustrémoslo con un ejemplo.

Ejemplo: Si se considera el soporte 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 y la partición del intervalo [0, 15] dada por:

∆ = [0, 3] , [3, 4], [4, 8], [8, 10] , [10, 13], [13, 15] el número de puntos del soporte existente en cada subintervalo y el grado máximo de los polinomios interpoladores de Lagrange que con ellos se pueden obtener se recogen en la tabla siguiente:

I1 I2 I3 I4 I5 I6

x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15

x0,1 x1,1 x2,1 x3,1

x0,2 x1,2

x0,3 x1,3 x2,3 x3,3 x4,3

x0,4 x1,4 x2,4

x0,5 x1,5 x2,5 x3,5

x0,6 x1,6 x2,6

Page 20: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

18

Intervalo Nº de puntos soporte Grado polinomio I1 = [0, 3] 4 3 I2 = [3, 4] 2 1 I3 = [4, 8] 5 4 I4 = [8, 10] 3 2 I5 = [10, 13] 4 3 I6 = [13, 15] 3 2

Por tanto el espacio L3,1,4,2,3,2(∆) será el espacio formado por todas aquellas funciones continuas en [0, 15] y que

• en [0, 3] se definan con un polinomio de grado menor o igual que 3, • en [3, 4] se definan con un polinomio de grado menor o igual que 1, • en [4, 8] se definan con un polinomio de grado menor o igual que 4, • en [8, 10] se definan con un polinomio de grado menor o igual que 2, • en [10, 13] se definan con un polinomio de grado menor o igual que 3, y • en [13, 15] se definan con un polinomio de grado menor o igual a 2.

Por ejemplo, la función

f(x) = ( )

2

2 4131280

2

sen(x) x 0x 0 x 3

12 7x 3 x 42.6 x x 4 x 885 7.5x 8 x 10120 21x x 10 x 151/(20 x) 15 x

⎧ ⎫⎪ ⎪≤⎪ ⎪⎪ ⎪⎪ ⎪< ≤⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪− + < ≤⎪ ⎪⎪ ⎪⎪ ⎪+ − < ≤⎨ ⎬⎪ ⎪⎪ ⎪− < ≤⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪− + < ≤⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪− <⎪ ⎪⎩ ⎭

de la que se recoge su grafo en la figura siguiente, es una función del espacio L3,1,4,1,3,2(∆) pues es continua en el intervalo [0, 15] (obsérvese que sus únicos puntos de discontinuidad se producen por la diferencia entre el valor de f(15) y el límite cuando x tiende a 15 por la derecha y en x = 20, estando ambos casos fuera del intervalo [0, 15]) y en cada uno de los subintervalos de la partición ∆ tiene una expresión polinómica de grado menor o igual a los señalados

Page 21: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

19

anteriormente (obsérvese que las expresiones no polinómicas tienen lugar fuera de [0, 15])(7).

Una vez introducidos los espacios de funciones polinómicas por tramos

que se utilizan en la interpolación de Lagrange examinemos algunas propiedades de ellos. En primer lugar demostremos que estos espacios de funciones tienen efectivamente una estructura de espacio vectorial(8). Propiedad 1ª Siendo ∆ una partición de un intervalo [x0 , xn] en k subintervalos I1, I2, ...., Ik , el espacio ( )

1 2 km ,m ,...,mL ∆ formado por todas las funciones continuas en

[x0, xn] y tales que en cada intervalo Ij ( j = 1, ..., k) tienen una expresión polinómica de grado menor o igual que mj, tiene estructura de espacio vectorial. Demostración: Para demostrar que ( )

1 2 km ,m ,...,mL ∆ es un espacio vectorial bastará con

demostrar que cualquier combinación lineal de dos funciones cualesquiera del espacio conducen a otra función del espacio. Para ello sean λ y µ dos

números reales cualesquiera y u(x) y v(x) dos funciones cualesquiera de ( )

1 2 km ,m ,...,mL ∆ . Las expresiones polinómicas de cada una de estas funciones en

los distintos subintervalos de la partición serán denotadas por: 7 En este ejemplo se han proporcionado expresiones de la función fuera del intervalo en el que se producirá el proceso de interpolación ([0, 15]) para reforzar el comentario que se realizó al comienzo de este subapartado en el sentido de que nos despreocupábamos de lo que sucede fuera del intervalo de estudio. En este sentido recordamos que estamos considerando bajo el nombre de función a las restricciones de las funciones al intervalo que se considere en cada caso (en este ejemplo el intervalo [0, 15]). 8 Recordamos al lector que el que un conjunto tenga estructura de espacio vectorial equivale a decir que cualquier combinación lineal de elementos de dicho conjunto conduce a otro elemento del mismo conjunto.

Page 22: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

20

(1)1

(2)2

(k )k

u (x) x Iu (x) x I

u(x)...... .....u (x) x I

⎧ ⎫⎪ ⎪∈⎪ ⎪⎪ ⎪⎪ ⎪∈⎪ ⎪⎪ ⎪= ⎨ ⎬⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪∈⎪ ⎪⎪ ⎪⎩ ⎭

y

(1)1

(2)2

(k )k

v (x) x Iv (x) x I

v(x)...... .....v (x) x I

⎧ ⎫⎪ ⎪∈⎪ ⎪⎪ ⎪⎪ ⎪∈⎪ ⎪⎪ ⎪= ⎨ ⎬⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪∈⎪ ⎪⎪ ⎪⎩ ⎭

Designemos entonces por w(x) a la función que se obtiene mediante:

w(x) ·u(x) ·v(x)= λ +µ . Obviamente w(x) es una función continua(9). Además en

cualquier subintervalo Ij (j = 1, ..., k) de la partición ∆ la función w(x) estará definida por:

( j) ( j) ( j)w (x) ·u (x) ·v (x)= λ +µ jx I∀ ∈

Y puesto que el producto de un escalar ( o )λ µ por un polinomio de

grado menor o igual que mj (u(j)(x) o v(j)(x) respectivamente) es un polinomio de grado menor o igual que mj y la suma de dos polinomios de grado menor o igual que mj ( ( j)( ·u (x))λ y ( j)( ·v (x))µ ) es otro polinomio de grado menor o igual

que mj, podemos concluir que w(j)(x) es un polinomio de grado menor o igual que mj. Por tanto

1 2 km ,m ,...,mw(x) L ( )∈ ∆ .

c.q.d. Propiedad 2ª Siendo ∆ una partición de un intervalo [x0 , xn] en los k subintervalos I1, I2, ...., Ik , la dimensión del espacio ( )

1 2 km ,m ,...,mL ∆ , formado por todas las

funciones continuas en [x0, xn] y tales que en cada intervalo Ij ( j = 1, ..., k) tienen una expresión polinómica de grado menor o igual que mj, es:

( )1 2 km ,m ,...,mdim L n 1= +

donde k

kj 1

n m=

=∑

Demostración: Recordando que todo polinomio de grado menor o igual que “s” se define con “s+1” coeficientes (o en otros términos que el espacio de polinomios de grado menor o igual que “s” tiene (s+1) grados de libertad) puede concluirse que la concreción de la expresión de una función u(x) del espacio en el subintervalo Ij ofrece (mj+1) grados de libertad. Pero si se elige libremente una expresión u(1)(x) para el intervalo I1, aparece una restricción a la hora de elegir

9 Recuérdese que el producto de un escalar por una función continua es otra función continua y que la suma de dos funciones continuas es otra función continua.

Page 23: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

21

la expresión u(2)(x) para el tramo I2 pues en el punto que separa ambos subintervalos debe garantizarse la igualdad de valor. Este razonamiento muestra que en conjunto habrá tantas restricciones como extremos comunes de subintervalos contiguos, es decir (k-1). En resumen, la funciones del

espacio ( )1 2 km ,m ,...,mL ∆ presentan ( ) ( )

k k

j jj 1 j 1

m 1 (k 1) m 1)= =

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥+ − − = +⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦∑ ∑ grados de

libertad por lo que llamando k

kj 1

n m=

=∑ queda demostrado que la dimensión

del espacio es n+1. c.q.d.

El hecho de que ( )

1 2 km ,m ,...,mL ∆ sea un espacio vectorial de dimensión

(n+1) implica que toda función de dicho espacio podrá expresarse como una combinación lineal de una base de ( )

1 2 km ,m ,...,mL ∆ formada por (n+1) funciones.

En este sentido el teorema siguiente nos determina una base de ( )1 2 km ,m ,...,mL ∆

que nos será de utilidad en los apartados siguientes. Teorema 1. Dado el soporte de (n+1) puntos distintos x0, x1, ..., xn, que supondremos ordenados de menor a mayor, sean m1, m2, …, mk un conjunto

de k enteros estrictamente positivos tales que k

kj 1

n m=

=∑ . Sea ∆ la partición de

[ x0, xn] en los k subintervalos:

I1 = 10 mx ,x⎡ ⎤⎢ ⎥⎣ ⎦ , I2 =

1 1 2m m mx ,x +⎡ ⎤⎢ ⎥⎣ ⎦ , .….., Ik =

1 2 k 1m m ... m nx ,x−+ + +

⎡ ⎤⎢ ⎥⎣ ⎦

En estas condiciones una base de ( )

1 2 km ,m ,...,mL ∆ está formada por las funciones

0 1 n(x), (x),...,ϕ ϕ ϕ de ( )1 2 km ,m ,...,mL ∆ que verifican las igualdades:

j i

1 si j i(x )

0 si j i⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩

(0 < i < n ; 0 < j < n)

Demostración: a) Demostremos en primer lugar que efectivamente existen (n+1) funciones

n

j j 0(x)

=ϕ en el espacio ( )

1 2 km ,m ,...,mL ∆ tales que:

Page 24: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

22

j i

1 si j i(x )

0 si j i⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩

(0 < i < n ; 0 < j < n)

En efecto, para ello escogido cualquier valor del índice “j” comprendido

entre 0 y n, distinguiremos dos situaciones posibles: 1ª) que el punto xj sea interior a uno de los subintervalos de la partición (que denotaremos como Is ) o 2ª) que el punto xj sea el punto común que tienen dos subintervalos contiguos (que denotaremos como Is-1 e Is). En la primera de estas situaciones se verificará que (m1+...+ms-1) < j < (m1+...+ms-1 + ms) y basta con considerar que los polinomios j,rp (x) que definen a la función j(x)ϕ en los intervalos Ir son todos nulos si r ≠ s mientras que

pj,s(x) es el polinomio interpolador de Lagrange obtenido al interpolar sobre el soporte

1 s 1 1 s 1 sm ... m j 1 j j 1 m ... m mx ,...,x ,x ,x ,...,x− −+ + − + + + + cualquier función que en

dichos puntos tome los valores 0, ..., 0, 1, 0, ..., 0. Dicho polinomio tendrá grado menor o igual que ms y se anulará en los extremos de Is, por lo que la función j(x)ϕ es evidente que pertenecerá al espacio ( )

1 2 km ,m ,...,mL ∆ .

En la segunda de las situaciones se verificará que (m1+...+ms-1) = j y basta con considerar que los polinomios j,rp (x) que definen a la función j(x)ϕ en los intervalos Ir son todos nulos si r ∉ s-1, s mientras que pj,s-1(x) es el polinomio

interpolador de Lagrange obtenido al interpolar sobre el soporte

1 s 2 1 s 1 s 1 1 s 1 s 1m ... m m ... m m 1 m ... m mx ,...,x ,x− − − − −+ + + + + − + + + cualquier función que en dichos

puntos tome los valores 0, ..., 0, 1 y pj,s(x) es el polinomio interpolador de Lagrange obtenido al interpolar sobre el soporte

1 s 1 1 s 1 1 s 1 sm ... m m ... m 1 m ... m mx ,x ,...,x− − −+ + + + + + + + cualquier función que en dichos puntos

tome los valores 1, 0 ..., 0 . Estos polinomio tendrán respectivamente grados menores o iguales que ms-1 y que ms. Además por la forma en que se han construido se verifica que:

1 s 2j,s 1 m ... mp (x ) 0−− + + =

1 s 2 s 1 1 s 2 s 1j,s 1 m ... m m j,s m ... m mp (x ) p (x ) 1

− − − −− + + + + + += =

1 s 2 s 1 sj,s m ... m m mp (x ) 0− −+ + + + =

Esto implica que la función j(x)ϕ pertenece al espacio ( )

1 2 km ,m ,...,mL ∆ .

Page 25: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

23

En resumen, en cualquier caso existen (n+1) funciones del espacio que toman los valores dados en el enunciado. b) Demostremos ahora que las (n+1) funciones n

j j 0(x)

=ϕ consideradas en el

enunciado son una base del espacio ( )1 2 km ,m ,...,mL ∆ . Ello es equivalente a

demostrar que ninguna de las funciones n

j j 0(x)

=ϕ puede expresarse como

combinación lineal de las demás. Y esto es obvio sin más que considerar que, para cualquier valor permitido del índice “j”, la función j(x)ϕ es la única que no

se anula en el punto xj por lo que cualquier combinación lineal de las demás funciones nos conducirá a una función que tome valor nulo en xj y que, por tanto no podrá coincidir con j(x)ϕ .

c.q.d.

Definición La base n

j j 0(x)

=ϕ determinada en el teorema anterior se denomina

base de Lagrange del espacio ( )1 2 km ,m ,...,mL ∆ asociada al soporte x0, ..., xn. A

la función i(x)ϕ que verifica i j

1 si i j(x )

0 si i j⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩

se la denomina función de

base de Lagrange asociada al nodo xi. •

Una de las ventajas de conocer una base de un espacio vectorial es que cualquier elemento del espacio queda definido de forma única por las coordenadas(10) que tiene en dicha base. La ventaja que, frente a otras bases, nos aporta trabajar con la base de Lagrange del espacio ( )

1 2 km ,m ,...,mL ∆ es que

las coordenadas de cualquier función u(x) del espacio en dicha base son precisamente los valores de u(x) en los puntos del soporte x0, ..., xn (que a partir de ahora denominaremos valores nodales de u(x) en el soporte y denotaremos por u0, u1, ..., un). Este hecho se demuestra en el teorema siguiente:

10 Las coordenadas de un elemento “u” de un espacio vectorial V de dimensión “m” en una base de V denotada por B = v1, ..., vm, son los escalares que intervienen en la combinación lineal de los elementos de B que tiene por resultado el elemento “u”. Es decir que a1, a2, ..., an son las coordenadas de “u” en la base B si se verifica que u = a1·v1 + a2·v2 + .... + an·vn.

Page 26: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

24

Teorema 2. Dado el soporte de (n+1) puntos distintos x0, x1, ..., xn, que supondremos ordenados de menor a mayor, sean m1, m2, …, mk un conjunto de k enteros

estrictamente positivos tales que k

kj 1

n m=

=∑ . Sea ∆ la partición de [ x0, xn] en

los k subintervalos: I1 =

10 mx ,x⎡ ⎤⎢ ⎥⎣ ⎦ , I2 = 1 1 2m m mx ,x +

⎡ ⎤⎢ ⎥⎣ ⎦ , .….., Ik = 1 2 k 1m m ... m nx ,x

−+ + +⎡ ⎤⎢ ⎥⎣ ⎦

Con esta notación, siendo u0, u1, ..., un un conjunto de (n+1) escalares y n

i i 0(x)

=ϕ la base de Lagrange del espacio ( )

1 2 km ,m ,...,mL ∆ asociada al soporte

x0, x1, ..., xn, existe una única función u(x) del espacio ( )1 2 km ,m ,...,mL ∆

verificando que u(xi) = ui (i = 0, 1, ..., n). Además dicha función está dada por la expresión :

n

j jj 0

u(x) u · (x)=

= ϕ∑

Demostración:

La función u(x) = n

j jj 0

u · (x)=

⎛ ⎞⎟⎜ ⎟ϕ⎜ ⎟⎜ ⎟⎜⎝ ⎠∑ es una función de ( )

1 2 km ,m ,...,mL ∆ pues es

una combinación lineal de elementos de dicho espacio. Además, en virtud del teorema 1, se verifica que:

n

i j j i i i i ij 0

u(x ) u · (x ) u · (x ) u=

= ϕ = ϕ =∑ (i = 0, ..., n)

Por tanto u(x) es una función de ( )

1 2 km ,m ,...,mL ∆ que toma los valores

nodales prescritos.

Demostremos que además es la única función que toma estos valores nodales. Para ello supongamos que hubiera alguna otra función v(x), diferente a u(x), que tomase estos mismos valores nodales. En dicho caso se verificaría que la función w(x) = u(x) – v(x) sería una función de ( )

1 2 km ,m ,...,mL ∆ con valores

nodales w(xi) = v(xi) – w(xi) = 0 (i = 0, ..., n). Ello equivaldría a que el polinomio p(s)(x) de grado menor o igual que ms que define w(x) en el intervalo Is (s = 1, ..., k), toma valores nulos en los (ms+ 1) puntos del soporte que pertenecen al subintervalo Is (es decir en los puntos del soporte

1 s 1 1 s 1 1 s 1 sm ... m m ... m 1 m ... m mx ,x ,...,x− − −+ + + + + + + + ). Pero el único polinomio de grado menor

o igual que ms que admite (ms +1) raíces es el polinomio idénticamente nulo.

Page 27: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

25

Ello implica que 0 nw(x) 0 x [x ,x ]≡ ∀ ∈ y por tanto 0 nu(x) v(x) x [x ,x ]≡ ∀ ∈ en

contra de la suposición de que u(x) y v(x) eran dos funciones diferentes del espacio. Por tanto es absurdo suponer que existe más de una función de

( )1 2 km ,m ,...,mL ∆ con los mismos valores nodales.

c.q.d. Los teoremas 1 y 2 resumen el proceso de interpolación de Lagrange polinómica por tramos. En los subapartados 2.2. y 2.3. concretaremos este aspecto en los dos casos particulares correspondientes a trabajar en L1(∆) y en L2(∆)(11). Pero antes de ello utilicémoslos para inferir una propiedad más de las funciones de base de Lagrange. Propiedad 3. Dado el soporte de (n+1) puntos distintos x0, x1, ..., xn, que supondremos ordenados de menor a mayor, sean m1, m2, …, mk un conjunto

de k enteros estrictamente positivos tales que k

kj 1

n m=

=∑ . Sea ∆ la partición de

[ x0, xn] en los k subintervalos:

I1 = 10 mx ,x⎡ ⎤⎢ ⎥⎣ ⎦ , I2 =

1 1 2m m mx ,x +⎡ ⎤⎢ ⎥⎣ ⎦ , .….., Ik =

1 2 k 1m m ... m nx ,x−+ + +

⎡ ⎤⎢ ⎥⎣ ⎦

Con esta notación, siendo n

i i 0(x)

=ϕ la base de Lagrange del espacio

( )1 2 km ,m ,...,mL ∆ se verifica:

a) n

jj 0

(x) 1=

ϕ =∑ [ ]0 nx x ,x∀ ∈

b) n

j jj 0

x · (x) x=

ϕ =∑ [ ]0 nx x ,x∀ ∈

Demostración: a) La función u(x) = 1 es una función del espacio ( )

1 2 km ,m ,...,mL ∆ ya que en cada

tramo Ij de la partición puede definirse con el polinomio (de grado 0) p(x) = 1. Por ello sus (n+1) valores nodales son 1, 1, ..., 1. Aplicando el teorema 2 a esta función se tiene que

n

jj 0

(x) u(x) 1=

ϕ = =∑ [ ]0 nx x ,x∀ ∈

11 Si bien es cierto que estos casos no son los únicos posibles no es menos cierto que son los más utilizados en la práctica.

Page 28: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

26

b) La función v(x) = x es una función del espacio ( )1 2 km ,m ,...,mL ∆ ya que en cada

tramo Ij de la partición puede definirse con el polinomio (de grado 1) p(x) = x, y como en cada subintervalo habrá al menos dos puntos, este polinomio siempre será de grado menor o igual que mj (j = 1, ..., k). Los (n+1) valores nodales de v(x) son x0, x1, ..., xn. Aplicando el teorema 2 a la función v(x) se tiene que:

n

j jj 0

x · (x) x=

ϕ =∑ [ ]0 nx x ,x∀ ∈

c.q.d.

El 4º de los ejercicios propuestos a continuación generaliza la propiedad anterior. Ejercicios propuestos: 1º. Sea x0 < x1 < x2 < ... <xn un soporte formado por (n+1) puntos y denotemos por ∆1 a la partición ∆1 = [x0, x1], [x1, x2], ..., [xn-1, xn] y por ∆2 a la partición ∆2 = [x0, x2] , [x2 , x4] , ...., [xn-2 , xn] . Razona la veracidad o falsedad de la siguiente inclusión: ( ) ( )1 1 2 2L L∆ ⊂ ∆ .

2º. Considérese el soporte 0, 1, 2, 3, 4, 5, 6, 7 y la partición:

∆ = [0, 2], [2, 6], [6, 7]

Determina de forma razonada qué funciones entre las siguientes pertenecen al espacio L2,4,1(∆)

a) f(x) = cos(x) si x 01 x si x 0

⎧ <⎪⎪⎨⎪ + ≥⎪⎩

b) f(x) = x2

c) f(x) =

2

3

x si x 2x si 2 x 6x si 6 2

⎧⎪ ≤⎪⎪⎪ < ≤⎨⎪⎪ <⎪⎪⎩

d) f(x) = 3

0 si x 2(x 2) si 2 x 622 7x si 6 2

⎧⎪ ≤⎪⎪⎪ − < ≤⎨⎪⎪ + <⎪⎪⎩

Page 29: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

27

3º. Sea ∆ una partición de un intervalo [x0 , xn] en k subintervalos I1, I2, ...., Ik , y consideremos el espacio ( )

1 2 km ,m ,...,mL ∆ formado por todas las funciones

continuas en [x0, xn] y tales que en cada intervalo Ij ( j = 1, ..., k) tienen una expresión polinómica de grado menor o igual que mj. Denotemos por Ps al espacio de todos los polinomios de grado menor o igual que s. Con esta notación, razona la veracidad o falsedad de las dos afirmaciones siguientes: a)

j 1 2 km m ,m ,...,mP L ( )⊂ ∆ (1 < j < k)

b) j 1 2 k1 j k

Inf (m ) m ,m ,...,mP L ( )≤ ≤

⊂ ∆

c) 1 2 k1 m ,m ,...,mP L ( )⊂ ∆

4º. Dado el soporte de (n+1) puntos distintos x0, x1, ..., xn, que supondremos ordenados de menor a mayor, sean m1, m2, …, mk un conjunto de k enteros

estrictamente positivos tales que k

kj 1

n m=

=∑ . Denotemos por m al inferior de los

enteros (m1, m2, ..., mk) y sea ∆ la partición de [ x0, xn] en los k subintervalos: I1 =

10 mx ,x⎡ ⎤⎢ ⎥⎣ ⎦ , I2 = 1 1 2m m mx ,x +

⎡ ⎤⎢ ⎥⎣ ⎦ , .….., Ik = 1 2 k 1m m ... m nx ,x

−+ + +⎡ ⎤⎢ ⎥⎣ ⎦

Con esta notación, siendo n

i i 0(x)

=ϕ la base de Lagrange del espacio

( )1 2 km ,m ,...,mL ∆ demuestra que se verifica:

ni ij j

j 0

x (x) x=

ϕ =∑ [ ]0 nx x ,x∀ ∈ 0 i m≤ ≤

Page 30: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

28

2.2. Interpolación de Lagrange con funciones polinómicas de primer grado por tramos.

Consideremos un soporte formado por (n+1) puntos distintos x0, x1, ....., xn que supondremos ordenados de menor a mayor. En el intervalo [x0, xn] al que pertenecen todos los puntos del soporte realizaremos la partición ∆ de la forma:

[ ] [ ] [ ] [ ] 1 0 1 2 1 2 i i 1 i n n 1 nI x ,x ,I x ,x ,...,I x ,x ,...,I x ,x− −∆= = = = =

y denotaremos por L1(∆) al espacio de Lagrange asociado a la partición ∆. Comencemos explicitando la base de Lagrange de L1(∆) asociada al soporte x0, x1, ....., xn. Propiedad 4. La base de Lagrange de L1(∆) asociada al soporte x0, x1, ....., xn es la formada por las (n+1) funciones:

[ ]1

0 10 10

x x si x x ,xx x(x)

0 en caso contrario

⎧ −⎪⎪ ∈⎪⎪ −ϕ =⎨⎪⎪⎪⎪⎩

j 1j 1 j

j j 1

j 1j j j 1

j j 1

x xsi x x ,x

x x

x x(x) si x x ,x

x x

0 en caso contrario

−−

++

+

⎧ ⎫⎪ ⎪−⎪ ⎪⎡ ⎤∈⎪ ⎪⎢ ⎥⎪ ⎪⎣ ⎦−⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪−⎪ ⎪⎪ ⎪⎡ ⎤ϕ = ∈⎨ ⎬⎢ ⎥⎣ ⎦⎪ ⎪−⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎩ ⎭

(j = 1, ..., n-1)

[ ]n 1

n 1 nn n 1n

x x si x x ,xx x(x)

0 en caso contrario

−−

⎧ −⎪⎪ ∈⎪⎪ −ϕ =⎨⎪⎪⎪⎪⎩

Demostración: Con las expresiones dadas en el enunciado se tiene que:

0 i

1 si i 0(x )

0 si i 0⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩

, j i

1 si i j(x )

0 si i j⎧ =⎪⎪ϕ = ⎨⎪ ≠⎪⎩

(0 < j < n), n i

1 si i n(x )

0 si i n⎧ =⎪⎪ϕ = ⎨⎪ ≠⎪⎩

Page 31: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

29

0

0x xlim (x) 1

+→ϕ = ,

i0x x

lim (x) 0→

ϕ = ( 0 < i < n) , n

0x xlim (x) 0

−→ϕ =

j 1,..,n 1 :∀ ∈ −

0jx x

lim (x) 0+→ϕ = ,

ijx x

1 si i jlim (x)

0 si i j→

⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩ (0 < i < n),

njx x

lim (x) 0−→ϕ =

y:

0nx x

lim (x) 0+→ϕ = ,

inx x

lim (x) 0→

ϕ = ( 0 < i < n) , n

nx xlim (x) 1

−→ϕ =

por lo que puede concluirse que las funciones n

j j 0(x)

=ϕ son continuas en el

intervalo [x0, xn].

Por otra parte en cada subintervalo Ii = [xi-1 , xi] (i = 1, ..., n) la expresión de todas las funciones n

j j 0(x)

=ϕ es un polinomio de grado 0 (caso de que

tomen en él el valor nulo) o de grado 1 (en los tramos en que no se anulan).

Todo ello nos permite afirmar que son funciones del espacio L1(∆), y

además, al verificarse que j i

1 si i j(x )

0 si i j⎧ =⎪⎪ϕ = ⎨⎪ ≠⎪⎩

, el teorema 1 demostrado en el

subapartado 2.1. nos garantiza que las funciones n

j j 0(x)

=ϕ son la base de

Lagrange del espacio L1(∆). c.q.d.

Las figuras siguientes recogen los grafos de las funciones de la base de Lagrange. Función 0(x)ϕ :

Función j(x)ϕ ( j = 1, ..., n-1):

Función n(x)ϕ

1

x0 x1 xj xn... ...

1

x0 xj-1 xj xn... ...xj+1

1

x0 xj xn....... ... xn-1

Page 32: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

30

Obsérvese que la función j(x)ϕ es la única función de la base de

Lagrange que toma valor no nulo en el nodo xj. En ese sentido diremos que la función j (x)ϕ es la función de la base de Lagrange asociada al nodo xj.

Ejemplo: Determinemos las funciones de la base de Lagrange del espacio L1(∆) asociado al soporte 0, 1, 3, 5.

La partición ∆ correspondiente a este soporte es: ∆ = I1 = [0, 1], I2 = [1, 3], I3 = [3, 5]

y las 4 funciones de la base de Lagrange estarán dadas por:

[ ]0

x 1 1 x si x 0,1(x) 0 1

0 en caso contrario

⎧ −⎪⎪ = − ∈⎪ϕ = −⎨⎪⎪⎪⎩

[ ]

[ ]1

x 0 x si x 0,11 0x 3 3 1(x) x si x 1,31 3 2 2

0 en caso contrario

⎧ −⎪⎪ = ∈⎪⎪ −⎪⎪⎪ −⎪ϕ = = − ∈⎨⎪ −⎪⎪⎪⎪⎪⎪⎪⎩

[ ]

[ ]2

x 1 1 1x si x 1,33 1 2 2x 5 5 3(x) x si x 3,53 5 2 2

0 en caso contrario

⎧ −⎪⎪ = − ∈⎪⎪ −⎪⎪⎪ −⎪ϕ = = − ∈⎨⎪ −⎪⎪⎪⎪⎪⎪⎪⎩

[ ]3

x 3 1 3x si x 3,5(x) 5 3 2 2

0 en caso contrario

⎧ −⎪⎪ = − ∈⎪ϕ = −⎨⎪⎪⎪⎩

Los grafos de estas funciones de base se recogen en la figura siguiente:

Page 33: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

31

Determinada la base de Lagrange asociada al soporte x0, ..., xn del espacio L1(∆), el teorema 2 demostrado en el apartado 2.1. nos indica cómo calcular la función de dicho espacio que interpola en el sentido de Lagrange a cualquier función f(x) de la que se conozcan sus valores en los puntos del soporte. La forma de proceder para ello se concreta en el teorema siguiente: Teorema 3. Dado el soporte x0, ..., xn y denotando por fj = f(xj) ( j = 0, .., n) a los valores que toma una función f(x) en los puntos del soporte y por n

j j 0(x)

=ϕ a

las funciones que forman la base de Lagrange del espacio L1(∆) que está asociada a este soporte, se verifica que la función:

n

j jj 0

u(x) f · (x)=

= ϕ∑

es la única función de L1(∆) que satisface las igualdades:

u(xj) = f(xj) ( j = 0,..., n) A dicha función u(x) se la denomina función interpoladora de Lagrange de f(x) del espacio L1(∆) sobre el soporte x0, ..., xn. Demostración: Es una consecuencia inmediata de aplicar el teorema 2 del apartado 2.1. al espacio L1(∆).

c.q.d. Ejemplo: Dado el soporte 0, 1, 3, 5 calculemos la función del espacio L1(∆) correspondiente que interpola a la función f(x) = sen(π ·x/2). Las funciones de la base de Lagrange de L1(∆) asociadas a este soporte ya fueron calculadas en el ejemplo anterior de este apartado.

Por otra parte, los valores de la función en los puntos del soporte son los siguientes:

f0 = sen (0) = 0, f1 = sen(π /2) = 1, f2 = sen(3·π /2) = -1, f3 = sen(5π /2) = 1.

Por tanto: 0 1 2 3 1 2 3u(x) 0· (x) 1· (x) 1· (x) 1· (x) (x) (x) (x)= ϕ + ϕ − ϕ + ϕ = ϕ −ϕ +ϕ

Page 34: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

32

Detallemos el resultado de la combinación lineal que conduce a u(x). Puesto que las funciones de base 3

j j 0(x)

=ϕ están definidas por tramos las

operaciones correspondientes deben ser realizadas tramo a tramo. Más concretamente:

• En el intervalo I1 = [0, 1] se tiene que: 0(x) 1 xϕ = − , 1(x) xϕ = , 2(x) 0ϕ = y 3(x) 0ϕ =

por lo que en dicho tramo: 1 2 3u(x) (x) (x) (x)= ϕ −ϕ +ϕ = x – 0 + 0 = x

• En el intervalo I2 = [1, 3] se tiene que:

0(x) 0ϕ = , 13 1(x) x2 2

ϕ = − , 21 1(x) x2 2

ϕ = − y 3(x) 0ϕ =

por lo que en dicho tramo:

1 2 3u(x) (x) (x) (x)= ϕ −ϕ +ϕ = 3 1 1 1x x 2 x2 2 2 2⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜− − − = −⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠

• Finalmente en el intervalo [3, 5] se tiene que:

0(x) 0ϕ = , 1(x) 0ϕ = , 25 3(x) x2 2

ϕ = − y 31 3(x) x2 2

ϕ = −

por lo que en dicho tramo:

1 2 3u(x) (x) (x) (x)= ϕ −ϕ +ϕ = 5 3 1 3x x 4 x2 2 2 2

⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜− − + − =− +⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠

Resumiendo: [ ][ ][ ]

x si x 0,1u(x) 2 x si x 1,3

4 x si x 3,5

⎧⎪ ∈⎪⎪⎪= − ∈⎨⎪⎪− + ∈⎪⎪⎩

Gráficamente:

• Tramo I1 Tramo I2 Tramo I3

Page 35: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

33

Puesto que el grado de todos los tramos polinómicos de las funciones de L1(∆) es 0 ó 1, la propiedad 3 (también demostrada en 2.1.) nos garantiza que:

[ ]n

j 0 nj 0

(x) 1 x x ,x=

ϕ = ∀ ∈∑ y [ ]n

j j 0 nj 0

x · (x) x x x ,x=

ϕ = ∀ ∈∑

Ambas igualdades se pueden resumir en la siguiente propiedad: Propiedad 5. Para todo valor de los escalares α y β , siendo n

j j 0(x)

=ϕ las funciones

de base del espacio L1(∆) asociadas al soporte x0, x1, ..., xn, se verifica que:

( ) [ ]n

j j 0 nj 0

x · (x) x x x ,x=

α +β ϕ =α+β ∀ ∈∑

Demostración: Es una consecuencia inmediata de la propiedad 3ª demostrada en el apartado 2.1.

c.q.d. La propiedad anterior garantiza que las (restricciones a [x0, xn] de las) funciones f(x) que en [x0, xn] sean polinomios de grado menor o igual que 1 tienen como función interpoladora en L1(∆) la misma (restricción de la ) función f(x). Es más, el teorema 3 demostrado anteriormente nos permite afirmar que si f(x) es una función de L1(∆) su función interpoladora es ella misma. Aún puede refinarse más este resultado con la propiedad siguiente: Propiedad 6. Dado el soporte x0, ..., xn, sea ∆ la partición de [x0, xn] dada por :

∆ = I1 = [x0, x1], ..., Ij = [xj-1, xj], ..., In = [xn-1, xn] denotemos por f(x) a una función cualquiera y por u(x) a su función interpoladora del espacio L1(∆). Considerando que estas funciones, en cada tramo, estén definidas por las expresiones:

Page 36: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

34

[ ]

[ ]

1 1 0 1

j j j 1 j

n n n 1 n

f (x) si x I x ,x

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

f(x) f (x) si x I x ,x

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

f (x) si x I x ,x

⎧⎪ ∈ =⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤= ∈ =⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎪⎪⎪ ∈ =⎪⎪⎩

,

[ ]

[ ]

1 1 0 1

j j j 1 j

n n n 1 n

u (x) si x I x ,x

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

u(x) u (x) si x I x ,x

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

u (x) si x I x ,x

⎧⎪ ∈ =⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤= ∈ =⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎪⎪⎪ ∈ =⎪⎪⎩

si para algún valor del índice “j” tal que 1 < j < n la expresión fj(x) es un polinomio de grado menor o igual que 1 entonces se verifica que uj(x) = fj(x). Demostración: Si fj(x) es un polinomio de grado menor o igual que 1 coincidirá con el polinomio interpolador de Lagrange (12) de f(x) sobre el soporte xj-1, xj. En otros términos, si fj(x) es un polinomio de grado menor o igual que 1 resultará que fj(x) es el único polinomio de grado menor o igual que 1 que verifica las condiciones: fi(xi-1) = f(xi-1) y fi(xi) = f(xi). Y puesto que ui(x) debe ser un polinomio de grado menor o igual que 1 verificando ui(xi-1) = f(xi-1) y ui(xi) = f(xi) puede concluirse que ui(x) = fi(x).

c.q.d. Ilustremos la propiedad anterior con un ejemplo. Ejemplo: Determinemos la función del espacio L1(∆) que interpola sobre el soporte de 7 puntos 0,1, 2, 3, 4,5, 6 a la función f(x) definida por:

sen x si x 32

f(x) 7 2x si 3 x 4

cos x si 4 x2

⎧ ⎛ ⎞⎪ π⎟⎪ ⎜ ≤⎟⎪ ⎜ ⎟⎜⎪ ⎝ ⎠⎪⎪⎪⎪⎪= − + < <⎨⎪⎪⎪⎪ ⎛ ⎞π⎪ ⎟⎜⎪ ≤⎟⎜⎪ ⎟⎜⎪ ⎝ ⎠⎪⎩

El grafo de la función f(x) que queremos interpolar se recoge en la figura siguiente:

12 Puede consultarse el tema anterior la interpolación polinómica de Lagrange para tener una demostración de esta afirmación

Page 37: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

35

Calculemos la función de L1(∆) que la interpola. Para ello partimos de que los valores nodales de f(x) son:

f0 = f(0) = sen(0) = 0, f1 = f(1) = sen2

⎛ ⎞π⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠= 1 , f2 = f(2) = ( )sen π = 0,

f3 = f(3) = sen 32

⎛ ⎞π⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠= -1, f4 = f(4) = ( )cos 2π = 1, f5 = f(5) = cos 5

2⎛ ⎞π⎟⎜ ⎟⎜ ⎟⎜⎝ ⎠

= 0

f6 = f(6) = ( )cos 3π = -1

Por tanto, en virtud del teorema 3 la función interpoladora que nos proporciona u(x) puede calcularse mediante la expresión:

0 1 2 3 4 5 6u(x) 0· (x) 1· (x) 0· (x) 1· (x) 1· (x) 0· (x) 1· (x)= ϕ + ϕ + ϕ − ϕ + ϕ + ϕ − ϕ =

1 3 4 6(x) (x) (x) (x)= ϕ −ϕ +ϕ −ϕ

Las expresiones de las funciones de la base de Lagrange, según la propiedad 4, están dadas por(13):

[ ]0

1 x si x 0,1(x)

0 en otro caso

⎧⎪ − ∈⎪ϕ = ⎨⎪⎪⎩

[ ][ ]1

x si x 0,1(x) 2 x si x 1,2

0 en otro caso

⎧⎪ ∈⎪⎪⎪ϕ = − ∈⎨⎪⎪⎪⎪⎩

13 Calculamos, para que practique el lector, las 7 funciones de base aunque en este caso nos bastaría con calcular sólo las funciones ϕ1(x), ϕ3(x), ϕ4(x) y ϕ6(x).

10 2 3 4 5 6

1

10 2 3 4 5 6

1

Page 38: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

36

[ ][ ]2

x 1 si x 1,2(x) 3 x si x 2,3

0 en otro caso

⎧⎪ − ∈⎪⎪⎪ϕ = − ∈⎨⎪⎪⎪⎪⎩

[ ][ ]3

x 2 si x 2,3(x) 4 x si x 3,4

0 en otro caso

⎧⎪ − ∈⎪⎪⎪ϕ = − ∈⎨⎪⎪⎪⎪⎩

[ ][ ]4

x 3 si x 3,4(x) 5 x si x 4,5

0 en otro caso

⎧⎪ − ∈⎪⎪⎪ϕ = − ∈⎨⎪⎪⎪⎪⎩

[ ][ ]5

x 4 si x 4,5(x) 6 x si x 5,6

0 en otro caso

⎧⎪ − ∈⎪⎪⎪ϕ = − ∈⎨⎪⎪⎪⎪⎩

[ ]

6

x 5 si x 5,6(x)

0 en otro caso

⎧⎪ − ∈⎪ϕ =⎨⎪⎪⎩

Con estas expresiones se tiene que:

1 3 4 6u(x) (x) (x) (x) (x)= ϕ −ϕ +ϕ −ϕ

que operando tramo a tramo nos conduce a:

• En [0, 1]: 1(x) xϕ = , 3 4 6(x) (x) (x) 0ϕ = ϕ = ϕ = por lo que: u(x) =x [ ]0,1∀ ∈

• En [1, 2]: 1(x) 2 xϕ = − , 3 4 6(x) (x) (x) 0ϕ = ϕ = ϕ = por lo que: u(x) = 2 - x [ ]1,2∀ ∈

• En [2, 3]: 1(x) 0ϕ = , 3(x) x 2ϕ = − , 4 6(x) (x) 0ϕ = ϕ = por lo que: u(x) = 2 - x [ ]2,3∀ ∈

• En [3, 4]: 1(x) 0ϕ = , 3(x) 4 xϕ = − , 4(x)ϕ =x – 3, 6(x) 0ϕ = por lo que: u(x) = 2x - 7 [ ]3,4∀ ∈

• En [4, 5]: 1 3(x) (x) 0ϕ = ϕ = , 4(x)ϕ =5 – x, 6(x) 0ϕ = por lo que: u(x) = 5 - x [ ]4,5∀ ∈

• En [5, 6]: 1 3 4(x) (x) (x) 0ϕ = ϕ = ϕ = , 6(x) x 5ϕ = − por lo que: u(x) = 5 - x [ ]5,6∀ ∈

Puede observase como en el intervalo [3, 4] la función interpoladora u(x) tiene la misma expresión que la función f(x), lo cual concuerda con lo que afirma la propiedad 6.

10 2 3 4 5 6

1

10 2 3 4 5 6

1

10 2 3 4 5 6

1

0 1 2 3 4 5 6

1

10 2 3 4 5

1

Page 39: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

37

Teniendo en cuenta que en los tramos [1, 2] y [2, 3] la función u(x) tiene la misma expresión y que en [4, 5] y [5, 6] ocurre lo mismo podemos concluir que:

[ ][ ][ ][ ]

x si x 0,12 x si x 1,3

u(x)7 2x si x 3,4

5 x si x 4,6

⎧⎪ ∈⎪⎪⎪ − ∈⎪⎪=⎨⎪− + ∈⎪⎪⎪ − ∈⎪⎪⎩

La representación gráfica en [0, 6] de f(x) y de u(x) se recoge en la figura siguiente:

Se deja propuesto al lector comprobar que la suma de las 7 funciones de la base de Lagrange conduce a la función unidad en el intervalo [0, 6].

• Existen formas menos laboriosas de calcular la expresión de la función interpoladora que la que hasta aquí se ha desarrollado pues ¡al fin y al cabo sólo se están sustituyendo tramos de la función f(x) por segmentos rectilíneos!. De forma más precisa podemos decir que el proceso descrito en el teorema 3 nos permite calcular la función interpoladora globalmente, es decir, es una expresión válida sobre todo el intervalo [x0, xn]. Pero si se determina la función interpoladora localmente, es decir, “subintervalo a subintervalo” el proceso puede simplificarse pues se reduce a calcular tramos de polinomios interpoladores sobre soportes de dos puntos. Las propiedades siguientes recogen dos formas de determinar la función interpoladora(14) localmente. 14 Es muy frecuente que nuestros alumnos se formen la impresión de que al usar métodos distintos para determinar la función interpoladora las funciones que se obtienen de una u otra forma son diferentes. En este sentido debe tenerse siempre presente que la función interpoladora es única y que cualquiera de los métodos que se utilicen para determinarla conducen a la misma función interpoladora.

Page 40: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

38

Propiedad 7. Dado el soporte x0, ..., xn, denotando por fj = f(xj) ( j = 0, .., n) a los valores que toma una función f(x) en los puntos del soporte y por:

j( j)0

j 1 j

x xL (x)

x x−

−=

− y j 1( j)

1j j 1

x xL (x)

x x−

−=

− (j = 1, ..., n)

a los polinomios de base de Lagrange asociados al soporte xj-1, xj se verifica que las funciones de la base de Lagrange del espacio L1(∆) pueden definirse mediante las expresiones :

[ ](1)0 0 1

0L (x) si x x ,x(x)

0 en otro caso

⎧⎪ ∈⎪ϕ = ⎨⎪⎪⎩

( j 1)1 j 1 j

( j)j 0 j j 1

L (x) si x x ,x

(x) L (x) si x x ,x

0 en otro caso

−−

+

⎧ ⎡ ⎤⎪ ∈ ⎢ ⎥⎪ ⎣ ⎦⎪⎪⎪ ⎡ ⎤ϕ = ∈⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎩

(j = 1, ...., n-1)

[ ](n)1 n 1 n

nL (x) si x x ,x(x)

0 en otro caso−

⎧⎪ ∈⎪ϕ = ⎨⎪⎪⎩

Además la función interpoladora de Lagrange de f(x) del espacio L1(∆) sobre el soporte x0, ..., xn queda definida por la expresión:

[ ]

[ ]

(1) (1)0 0 1 1 1 0 1

( j) ( j)j 1 0 j 1 j j 1 j

(n) (n)n 1 0 n 1 n n 1 n

f ·L f ·L (x) si x I x ,x

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

u(x) f ·L f ·L (x) si x I x ,x

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

f ·L f ·L (x) si x I x ,x

− −

− −

⎧⎪ + ∈ =⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤= + ∈ =⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎪⎪⎪ + ∈ =⎪⎪⎩

Demostración: Según las expresiones dadas para las funciones de base de Lagrange en la

propiedad 4ª las expresiones aquí dadas para ellas son inmediatas. Además, según estas expresiones, es evidente que en Ij = [xj-1, xj] todas las funciones de la base de Lagrange son nulas salvo las funciones j 1(x)−ϕ y j(x)ϕ que, en ese

subintervalo, están dadas por: ( j) ( j)

j j 1 j j 1 0 j 1x I x ,x : (x) L (x), (x) L (x)− −⎡ ⎤∀ ∈ = ϕ = ϕ =⎢ ⎥⎣ ⎦

por lo que: n

( j) ( j)j j 1 j i i j 1 j 1 j j j 1 0 j 1

i 0

x I x ,x : u(x) f · (x) f · (x) f · (x) f ·L (x) f ·L (x)− − − −=

⎡ ⎤∀ ∈ = = ϕ = ϕ + ϕ = +⎢ ⎥⎣ ⎦ ∑

c.q.d.

Page 41: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

39

Obsérvese que el tramo de la función interpoladora en Ij (j = 1, ..., n) puede ser calculado, según la propiedad 7ª, utilizando la fórmula de Lagrange para calcular el polinomio interpolador de Lagrange sobre el soporte xj-1, xj. Ahora bien, según se detalló en el tema dedicado a la interpolación polinómica, el polinomio interpolador de Lagrange también puede calcularse mediante la fórmula de Newton. En este sentido, la propiedad que sigue proporciona las expresiones correspondientes a calcular localmente la función interpoladora utilizando la fórmula de interpolación de Newton.

Propiedad 8. Dado el soporte x0, ..., xn y denotando por fj = f(xj) ( j = 0, .., n) a los valores que toma una función f(x) en los puntos del soporte se verifica que la función interpoladora de Lagrange de f(x) del espacio L1(∆) sobre el soporte x0, ..., xn está dada por la expresión:

[ ] [ ]

[ ] [ ]

0 0 1 0 1 0 1

j 1 j 1 j j 1 j j 1 j

n 1 n 1 n n 1 n n 1 n

f f x ,x ·(x x ) si x I x ,x

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

u(x) f f x ,x ·(x x ) si x I x ,x

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

f f x ,x ·(x x ) si x I x ,x

− − − −

− − − −

⎧⎪ + − ∈ =⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤ ⎡ ⎤= + − ∈ =⎨ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎪⎪⎪⎪⎪⎪+ − ∈ =⎩

⎪⎪⎪⎪

donde f[xj-1, xj] es la diferencia dividida de la función f(x) en los puntos xj-1, xj dada por:

j j 1j 1 j

j j 1

f(x ) f(x )f x ,x

x x−

−−

−⎡ ⎤ =⎢ ⎥⎣ ⎦ −

Demostración: Según las expresiones de las funciones de la base de Lagrange del espacio L1(∆), en un intervalo cualquiera de la partición, el intervalo Ij , las únicas funciones de base no nulas son j 1(x)−ϕ y j(x)ϕ . Las expresiones de

estas funciones de base en el intervalo Ij son: j j 1

j j 1 j j 1 jj 1 j j j 1

x x x xx I x ,x : (x) , (x)

x x x x−

− −− −

− −⎡ ⎤∀ ∈ = ϕ = ϕ =⎢ ⎥⎣ ⎦ − −

por lo que la función u(x) de L1(∆) que interpola a f(x) queda definida en Ij por la expresión:

j j 1j j 1 j j 1 j 1 j j j 1 j

j 1 j j j 1

x x x xx I x ,x : u(x) f · (x) f · (x) f · f ·

x x x x−

− − − −− −

− −⎡ ⎤∀ ∈ = = ϕ + ϕ = +⎢ ⎥⎣ ⎦ − −

Page 42: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

40

Puesto que j j 1 j 1 j j 1

j 1 j 1 j 1 j 1j 1 j j 1 j j 1 j

x x (x x ) (x x ) x xf · f · f f ·

x x x x x x− − −

− − − −− − −

− − + − −= = −

− − −

podemos rescribir la expresión local de la función interpoladora como:

j j 1 jx I x ,x :−⎡ ⎤∀ ∈ = ⎢ ⎥⎣ ⎦ u(x) j j 1

j 1 j 1j j 1

f ff (x x )

x x−

− −−

−= + −

de donde: j j 1 j j 1 j 1 j j 1x I x ,x : u(x) f f x ,x ·(x x )− − − −

⎡ ⎤ ⎡ ⎤∀ ∈ = = + −⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

c.q.d. Ocupémonos ahora del error de interpolación. Para ello denotemos por f(x) a una cierta función y por u(x) a la función de L1(∆) que la interpola sobre el soporte x0, x1, ..., xn. Puesto que los valores nodales de f(x) y de u(x) son los mismos es obvio que en los puntos del soporte se verificará que u(xj) = f(xj) (j = 0, ..., n). Pero esta coincidencia de valor no tiene por qué producirse en cualquier otro punto x perteneciente al intervalo [x0, xn]. El teorema siguiente nos muestra una expresión del error local de interpolación cometido en cada punto, vinculándolo al error de interpolación polinómica de Lagrange con soportes de 2 puntos. Teorema 4. Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L1(∆) sobre el soporte x0, ..., xn y suponiendo que para algún valor del índice j ( con 1 < j < n) se verifica que 2

j 1 jf C ((x ,x ))−∈ y que f(x) es continua por la

derecha en xj-1 y que f(x) es continua por la izquierda en xj, entonces: ( )j

j 1 j j j 1 j j 1 j

f "x x ,x x ,x / E(x) f(x) u(x) (x x )·(x x )

2− − −

ξ⎤ ⎡ ⎤ ⎡∀ ∈ ∃ξ =∈ = − = − −⎥ ⎢ ⎥ ⎢⎦ ⎣ ⎦ ⎣

Demostración: Puesto que la expresión anterior es válida para todo punto interior al intervalo Ij, el error (f(x) – u(x)) coincide con el error entre f(x) y el polinomio p(j)(x) que define a la función interpoladora en el subintervalo Ij. Y como este polinomio es el polinomio que interpola a f(x) sobre el soporte xj-1, xj basta con aplicar el teorema que nos proporcionaba la expresión del error de interpolación polinómica(15) a este caso particular.

c.q.d.

15 Vése el teorema 2 del apartado 2.2. del tema anterior dedicado a la interpolación polinómica.

Page 43: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

41

Una primera consecuencia del teorema anterior es la ratificación de la propiedad 6ª. En efecto si en el subintervalo Ij la función f(x) tuviera una expresión polinómica de grado menor o igual a 1, será nula su segunda derivada en cualquier punto interior a Ij y en consecuencia el error en todo punto de Ij es nulo. En otros términos, en ese caso la función f(x) coincidirá con la función interpoladora en todo punto del intervalo Ij. Pero el teorema anterior también nos permite obtener cotas locales del error de interpolación. Algunas de ellas son las recogidas a continuación. Corolario 1 Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L1(∆) sobre el soporte x0, ..., xn y suponiendo que para algún valor del índice j ( con 1 < j < n) se verifica que 2

j 1 jf C (]x ,x [)−∈ y que f(x) es continua por la derecha en

xj-1 y que f(x) es continua por la izquierda en xj , entonces:

a) j 1 j

j 1 j j j 1 jx x ,x

1x x ,x : E(x) f(x) u(x) M · Sup (x x )·(x x )2 −

− −⎤ ⎡∈⎥ ⎢⎦ ⎣

⎤ ⎡∀ ∈ = − ≤ − −⎥ ⎢⎦ ⎣

donde j 1 j

jx x ,x

M Sup f "(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

=

b) 2j 1 j j j

1x x ,x : E(x) f(x) u(x) M ·h8−

⎤ ⎡∀ ∈ = − ≤⎥ ⎢⎦ ⎣ , donde j 1 j

jx x ,x

M Sup f "(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

=

y hj = |xj – xj-1|. Demostración:

a) La primera acotación es inmediata pues basta con tomar valor absoluto en la expresión del error y sustituir el valor de |f”(ξj)| por el supremo de |f”(x)| en el intervalo ]xj-1, xj[ y el valor de |(x-xj-1)·(x-xj)| por su supremo en ]xj-1, xj[.

b) La segunda acotación concreta la primera. En efecto, siendo hj la

longitud del intervalo [xj-1, xj], la distancia de un punto de dicho intervalo al extremo izquierdo xj-1 puede expresarse como α hj para algún valor de α tal que 0 < α < 1. Con esta notación es obvio que |x – xj| = (1-α )hj y por tanto:

|(x – xj-1)·(x - xj)| = |(x – xj-1)|·|(x - xj)| = α ·(1-α )·(hj)2 El mayor valor de |(x – xj-1)·(x - xj)| en el intervalo ]xj-1, xj[ se alcanzará entonces para aquel valor α * que maximice el valor de la función g(α ) = α ·(1-α ) cosa que sucede en el punto en que se anule g’(α ). Resolviendo g’(α *) = 0 se tiene que:

Page 44: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

42

-α * + 1 - α * = 0 1*2

⇒α =

En ese punto g(1/2) = ¼ y por tanto:

( )( ) 2j 1 j j 1 j j

1x x ,x : x x · x x h4− −

⎤ ⎡∀ ∈ − − ≤⎥ ⎢⎦ ⎣

Introduciendo este valor en la expresión de la acotación a) se obtiene finalmente que:

2j 1 j j j

1x x ,x : E(x) f(x) u(x) M ·h8−

⎤ ⎡∀ ∈ = − ≤⎥ ⎢⎦ ⎣

c.q.d. Obsérvese que la expresión del error local, y por tanto de las acotaciones realizadas a partir de ella, sólo son válidas bajo las hipótesis de regularidad de f(x) en el intervalo [xj-1, xj] que se recogen en el teorema 4 o en su corolario. Cuando la función f(x) no verifica tales condiciones, el error debe ser expresado como (f(x) – u(x)) y sus cotas locales deben obtenerse maximizando el valor absoluto de dicha expresión. De las acotaciones locales anteriores pueden extraerse acotaciones globales sin más que considerar que la cota global del error en [x0, xn] será la mayor de las cotas locales que se obtengan en cada intervalo. En este sentido el corolario siguiente recoge acotaciones globales. Corolario 2

a) Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L1(∆) sobre el soporte x0, ..., xn y suponiendo que para todo valor del índice j ( con 1 < j < n) se verifica que 2

j 1 jf C (]x ,x [)−∈ y que f(x) es

continua por la derecha en xj-1 y que f(x) es continua por la izquierda en xj, entonces:

[ ] ( )20 n j j1 j n

1x x ,x : E(x) f(x) u(x) Max M ·h8 ≤ ≤

∀ ∈ = − ≤

donde j 1 j

jx x ,x

M Sup f "(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

= y hj = |xj – xj-1|.

b) Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio

L1(∆) sobre el soporte x0, ..., xn y suponiendo que para todo valor del índice j ( con 1 < j < n) se verifica que 2

j 1 jf C (]x ,x [)−∈ y que f(x) es

continua por la derecha en xj-1 y que f(x) es continua por la derecha en xj, entonces:

Page 45: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

43

[ ] 20 n

1x x ,x : E(x) f(x) u(x) M·h8

∀ ∈ = − ≤

donde j 1 j

jx x ,x

M Sup f "(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

= , hj = |xj – xj-1|, j1 j nM Max M

≤ ≤= y j1 j n

h Max h≤ ≤

= .

c) Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio

L1(∆) sobre el soporte x0, ..., xn y suponiendo que 20 nf C (]x ,x [)∈ y que

f(x) es continua por la derecha en x0 y que f(x) es continua por la derecha en xn, entonces:

[ ] 20 n

1x x ,x : E(x) f(x) u(x) K·h8

∀ ∈ = − ≤

donde ] [0 nx x ,x

K Sup f "(x)∈

= , hj = |xj – xj-1| y j1 j nh Max h

≤ ≤= .

Demostración: Las tres acotaciones realizadas son inmediatas a partir de las recogidas en el corolario 1. Se dejan los detalles como ejercicio propuesto al lector.

c.q.d. Ejemplos: 1º La función del espacio L1(∆) que interpola sobre el soporte de 7 puntos 0,1, 2, 3, 4,5, 6 a la función f(x) definida por:

sen x si x 32

f(x) 7 2x si 3 x 4

cos x si 4 x2

⎧ ⎛ ⎞⎪ π⎟⎪ ⎜ ≤⎟⎪ ⎜ ⎟⎜⎪ ⎝ ⎠⎪⎪⎪⎪⎪= − + < <⎨⎪⎪⎪⎪ ⎛ ⎞π⎪ ⎟⎜⎪ ≤⎟⎜⎪ ⎟⎜⎪ ⎝ ⎠⎪⎩

es (véase uno de los ejemplos anteriores desarrollados en este apartado): [ ][ ][ ][ ]

x si x 0,12 x si x 1,3

u(x)7 2x si x 3,4

5 x si x 4,6

⎧⎪ ∈⎪⎪⎪ − ∈⎪⎪=⎨⎪− + ∈⎪⎪⎪ − ∈⎪⎪⎩

Puesto que f(x) es continua en todo punto interior a cualquiera de los subintervalos I0 = [0, 1], I1 = [1, 2], I2 = [2, 3], I3 = [3,4], I4 = [4,5] e I5 = [5, 6] se puede aplicar el teorema 4 para obtener que:

] [2

1 1x 0,1 / E(x) sen( )·x·(x 1)8π

∀ ∈ ∃ξ =− ξ −

] [2

2 2x 1,2 / E(x) sen( )·(x 1)·(x 2)8π

∀ ∈ ∃ξ =− ξ − −

Page 46: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

44

] [2

3 3x 2,3 / E(x) sen( )·(x 2)·(x 3)8π

∀ ∈ ∃ξ =− ξ − −

] [x 3,4 E(x) 0·(x 2)·(x 3) 0∀ ∈ =− − − =

] [2

5 5x 4,5 / E(x) cos( )·(x 4)·(x 5)8π

∀ ∈ ∃ξ =− ξ − −

] [2

6 6x 5,6 / E(x) cos( )·(x 5)·(x 6)8π

∀ ∈ ∃ξ =− ξ − −

Obsérvese que al ser f(x) una función polinómica de primer grado en el intervalo ]3, 4[, el error de interpolación es nulo en dicho intervalo. Puesto que:

] [ ] [ ] [x 0,1 x 1,2 x 2,3Sup sen x Sup sen x Sup sen x 1

2 2 2∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞π π π⎟ ⎟ ⎟⎜ ⎜ ⎜⎟ ⎟ ⎟⎜ ⎜ ⎜⎟ ⎟ ⎟= = =⎜ ⎜ ⎜⎟ ⎟ ⎟⎜ ⎜ ⎜⎟ ⎟ ⎟⎟ ⎟ ⎟⎜ ⎜ ⎜⎜ ⎜ ⎜⎟ ⎟ ⎟⎜ ⎜ ⎜⎝ ⎠ ⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎝ ⎠ ⎝ ⎠

y:

] [ ] [ ] [x 0,1 x 1,2 x 2,3Sup cos x Sup cos x Sup cos x 1

2 2 2∈ ∈ ∈

⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎛ ⎞ ⎛ ⎞ ⎛ ⎞π π π⎟ ⎟ ⎟⎜ ⎜ ⎜⎟ ⎟ ⎟⎜ ⎜ ⎜⎟ ⎟ ⎟= = =⎜ ⎜ ⎜⎟ ⎟ ⎟⎜ ⎜ ⎜⎟ ⎟ ⎟⎟ ⎟ ⎟⎜ ⎜ ⎜⎜ ⎜ ⎜⎟ ⎟ ⎟⎜ ⎜ ⎜⎝ ⎠ ⎝ ⎠ ⎝ ⎠⎝ ⎠ ⎝ ⎠ ⎝ ⎠

y la longitud de todos los subintervalos es la unidad, las expresiones locales del error pueden acotarse aplicando el corolario 1º por:

] [2

x 0,1 : E(x)32π

∀ ∈ ≤ , ] [2

x 1,2 : E(x)32π

∀ ∈ ≤ , ] [2

x 2,3 : E(x)32π

∀ ∈ ≤

[ ]x 3,4 : E(x) 0∀ ∈ = , ] [2

x 4,5 : E(x)32π

∀ ∈ ≤ , ] [2

x 5,6 : E(x)32π

∀ ∈ ≤

Las cotas anteriores nos permiten afirmar que: [ ]2

x 0,6 : E(x)32π

∀ ∈ ≤ .

Verifiquémoslo. La función de error está dada por:

E(x) = f(x) – u(x) =

[ ]

[ ]

[ ]

[ ]

sen x x si x 0,12

sen x (2 x) si x 1,32

0 si x 3,4

cos x (5 x) si x 4,62

⎧ ⎛ ⎞⎪ π⎟⎪ ⎜ − ∈⎟⎪ ⎜ ⎟⎜⎪ ⎝ ⎠⎪⎪⎪ ⎛ ⎞⎪ π⎟⎪ ⎜ − − ∈⎟⎜⎪ ⎟⎜⎪ ⎝ ⎠⎪⎨⎪⎪ ∈⎪⎪⎪⎪⎪⎪ ⎛ ⎞π⎪ ⎟⎜ − − ∈⎪ ⎟⎜ ⎟⎪ ⎜⎝ ⎠⎪⎩

La figura siguiente recoge las gráficas de la función f(x) y la función interpoladora u(x) (figura de la izquierda) y la gráfica del error E(x).

Page 47: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

45

En el intervalo [0, 1] los extremos de E(x) se alcanzarán el los puntos x1* en que se anule la primera derivada del error, es decir:

E’(x1*) = 2 21( ).cos(x * . ) 1 0π π − = 12 2x * arc cos

⎛ ⎞⎟⎜⇒ = ⎟⎜ ⎟⎜⎝ ⎠π π

en donde se tiene que: E(x1*) = 0.210... < 0.211. En el intervalo [1, 3] los extremos de E(x) se alcanzarán en los puntos x2* del intervalo [1, 3] en los que:

E’(x2*) = 2 22( ).cos(x * . ) 1 0π π + = 22 2x * arc cos⎡ ⎤⎛ ⎞⎟⎜⎢ ⎥⇒ = π± ⎟⎜ ⎟⎜⎢ ⎥⎝ ⎠π π⎣ ⎦

En dichos puntos se tiene que: |E(x2*)| = 0.210... < 0.211. Finalmente en el intervalo [4, 6] los extremos de E(x) se alcanzarán en los puntos x3* del intervalo [4, 6] en los que:

E’(x3*) = 2 23( ).sin(x * . ) 1 0π π− + = 2

2 24 arcsinx *

2 26 arcsin

⎧ ⎛ ⎞⎪ ⎟⎪ ⎜+ ⎟⎪ ⎜ ⎟⎜⎪ ⎝ ⎠π π⎪⇒ =⎨⎪ ⎛ ⎞⎪ ⎟⎜−⎪ ⎟⎜ ⎟⎪ ⎜⎝ ⎠π π⎪⎩

En dichos puntos se tiene que: |E(x3*)| = 0.210... < 0.211. En resumen el máximo de la función |E(x)| en [0, 6] es 0.210 ..... La cota hallada anteriormente fue 2

32π ≈ 0.308... que, efectivamente, es

mayor que el máximo valor que toma el error.

Ejercicio resuelto: Considérese el soporte equidistante formado por los 7 puntos:

x0 = 0, x1 = 1, x2 = 2, x3 = 3, x4 = 4, x5 = 5, x6 = 6

Page 48: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

46

a) Denotando por ∆ a la partición del intervalo [0, 6] en los subintervalos: ∆ = [0, 1], [1, 2] , [2, 3] , [3, 4], [4, 5], [5, 6]

y por L1(∆) al espacio de las funciones a trozos que en cada subintervalo de la partición ∆ pueden definirse mediante un polinomio de grado menor o igual que 1, se pide determinar las funciones ϕ5(x) y ϕ6(x) que pertenecen a la base de Lagrange de L1(∆) asociada al soporte antes dado y que verifican ϕ5(5) = 1 y ϕ6(6) = 1 respectivamente. También se pide representar la gráfica de ambas funciones de base en el intervalo [0, 6]. b) Siendo ϕi(x)0<i<6 las 7 funciones de base de Lagrange del espacio L1(∆) considerado en el apartado a) y que están asociadas al soporte dado xi0<i<6, se pide razonar de forma detallada la veracidad o falsedad de la siguiente expresión:

6

ii 0

x : (i 1)· ' (x) 1=

∀ + ϕ =∑

c) Sea g(x) la función:

g(x) = 6 x si x 3x 1 si x 3

− <⎧⎨ − ≥⎩

y denotemos por v(x) a la función interpoladora de Lagrange de g(x) sobre el soporte dado perteneciente al espacio L1(∆) considerado en el primer apartado. Indíquese de forma razonada si se verifica que:

v(x) = g(x) [ ]x 0,6∀ ∈ .

d) Sea f(x) la función f(x) = 2 + 3·x – x2. Determínese la expresión de la función u(x) del espacio L1(∆) que interpola a f(x) y hállese una cota del error de interpolación que sea válida en todo punto del intervalo [0, 6]. Solución: a)

[ ][ ][ ]

5

x 4 si x 4,5(x) 6 x si x 5,6

0 si x 4,6

⎧ − ∈⎪ϕ = − ∈⎨⎪ ∉⎩

[ ][ ]6

0 si x 5,6(x)

x 5 si x 5,6⎧ ∉⎪ϕ = ⎨ − ∈⎪⎩

0 1 2 3 4 5 6

1 ϕ5(x)

0 1 2 3 4 5 6

1 ϕ6(x)

Page 49: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

47

b) La función 6

ii 0

(i 1)· (x)=

+ ϕ∑ es la función de L1(∆) que interpola en el sentido de

Lagrange, sobre el soporte dado, a la función (x+1). Puesto que la función (x+1) es un polinomio de primer grado sobre toda la recta real también lo es en cada uno de los subintervalos de la partición ∆. Por tanto (x+1) es una función de L1(∆) lo cual garantiza, debido a la unicidad de la función interpoladora, que:

[ ]6

ii 0

x 0,6 : (i 1)· (x) 1 x=

∀ ∈ + ϕ = +∑

y por tanto, denotando por S al conjunto de los puntos del soporte, se tiene que:

] ['6 6

i ii 0 i 0

x 0,6 / x S : (i 1)· (x) (i 1)· ' (x) 1= =

⎛ ⎞∀ ∈ ∉ + ϕ = + ϕ =⎜ ⎟

⎝ ⎠∑ ∑

En resumen la expresión dada es correcta para todos los puntos de ]0, 6[ que no pertenezcan al soporte. No obstante la expresión anterior no sería correcta fuera del intervalo [0, 6] pues, para 0 < i < 6, las funciones de base ϕi(x) no están definidas fuera del intervalo de interpolación. Tampoco sería correcta la igualdad en los puntos del soporte pues en el punto xi , para 0 < i < 6, la función de base ϕi(x) no es derivable. En dichos puntos sólo se podría afirmar que:

'6

ii 0

x S : (i 1)· (x) 1=

⎛ ⎞∀ ∈ + ϕ =⎜ ⎟

⎝ ⎠∑

c) La función g(x) es una función cuya restricción a cada uno de los subintervalos de ∆ es un polinomio de grado menor o igual que 1. No obstante, la función g(x) no es una función del espacio L1(∆) ya que no es continua en todos los puntos de [0, 6]. En efecto en x = 3 se tiene que:

x 3 x 3 x 3 x 3lim g(x) lim (6 x) 3 lim g(x) lim (x 1) 2

− − + +→ → → →= − = ≠ = − =

Puesto que la función interpoladora v(x) sí que pertenece a L1(∆) (y por tanto es continua en todo [0, 6]) no podrá coincidir con g(x). En resumen la igualdad que se pedía analizar en el apartado c) es falsa. NOTA: Aunque no hace falta calcular la función v(x) para responder lo que se pide en el ejercicio, es fácil ver que la función v(x) coincidirá con g(x) en todos los puntos de [0, 6] salvo en los pertenecientes al intervalo [2, 3] en donde v(x) tiene la expresión de la recta que pasa por (2, 4) y (3, 2). Más concretamente:

g(x) x [0,2] [3,6]v(x)

8 2·x x [2,3]∈⎧

= ⎨ − ∈⎩

Page 50: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

48

d) Utilicemos la fórmula de Newton para calcular los tramos de la función interpoladora. Para ello con f(x) = 2 + 3x – x2 se tiene que:

f(0) = 2 f[0, 1] = 2

f(1) = 4 f[1, 2] = 0

f(2) = 4 f[2, 3] = -2

f(3) = 2 f[3, 4] = -4

f(4) = -2 f[4 , 5] = -6

f(5) = -8 f[5, 6] = -8

f(6) = -16 Por tanto

• En [0, 1]: u(x) = 2 + 2·(x-0) = 2 + 2·x cometiéndose un error de interpolación dado por: E1(x) = f(x) - u(x) = 2 + 3x – x2 – 2 – 2x = x – x2 cuyo máximo en [0, 1] se alcanza para x = ½ y tiene el valor ¼ .

• En [1, 2]: u(x) = 4 + 0·(x-1) = 4 cometiéndose un error de interpolación

dado por: E1(x) = f(x) - u(x) = 2 + 3x – x2 – 4 = -2 +3x – x2 cuyo máximo en [1, 2] se alcanza para x = 3

2 y tiene el valor ¼ .

• En [2, 3]: u(x) = 4 -2·(x-2) = 8–2x cometiéndose un error de interpolación

dado por: E1(x) = f(x) - u(x) = 2 + 3x – x2 – 8 + 2x = -6 +5·x – x2 cuyo máximo en [2, 3] se alcanza para x = 5

2 y tiene el valor ¼ .

• En [3, 4]: u(x) = 2 - 4·(x - 3) = 14 – 4x cometiéndose un error de

interpolación dado por: E1(x) = f(x) - u(x) = 2 + 3·x – x2 – 14 + 4·x = -12 +7·x – x2 cuyo máximo en [3, 4] se alcanza para x = 7

2 y tiene el

valor ¼ .

• En [4, 5]: u(x) = -2 - 6·(x - 4) = 22 – 6x cometiéndose un error de interpolación dado por: E1(x) = f(x) - u(x) = 2 + 3·x – x2 – 22 + 6·x = -20 +9·x – x2 cuyo máximo en [4, 5] se alcanza para x = 9

2 y tiene el

valor ¼ .

Page 51: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

49

• En [5, 6]: u(x) = -8 - 8·(x - 5) = 32 – 8x cometiéndose un error de

interpolación dado por: E1(x) = f(x) - u(x) = 2 + 3·x – x2 – 32 + 8·x = -30 +11·x – x2 cuyo máximo en [5, 6] se alcanza para x = 11

2 y tiene el

valor ¼ . En resumen la función interpoladora buscada es:

[ ][ ][ ][ ][ ][ ]

2 2·x si x 0,14 si x 1,28 2·x si x 2,3

u(x)14 4·x si x 3,422 6·x si x 4,532 8·x si x 5,6

⎧ + ∈⎪ ∈⎪⎪ − ∈⎪= ⎨ − ∈⎪⎪ − ∈⎪

− ∈⎪⎩

y el máximo valor que alcanza el error en [0, 6] es 0’25. Las figuras siguientes recogen la gráfica de f(x), u(x) y de la función de error.

Page 52: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

50

Ejercicios propuestos: 1º. a) Determinar la función interpoladora en L1(∆) de f(x) = x2 para el soporte de 5 puntos: x0 = -3, x1 = 1, x2 = 0, x3 = 1, x4 = 3. b) Calcular y dibujar las funciones de la base de Lagrange del espacio usado en el apartado anterior. c) Determinar una cota del error de interpolación válida en el intervalo

[-3, 3]. 2º. a) Determinar la función interpoladora de L1(∆) para la partición de [0, 2] con

los puntos de soporte x0 = 0, x1 = ½ , x2 = 1, x3 = 32 , x4 = 2 de la

función f(x) = |e-x – ½ |. Hallar una cota de error válida en todo el intervalo [0, 2].

b) Razónese si las funciones de base de Lagrange del espacio L1(∆) usado en

el apartado anterior verifican 2 4

ii 00

i· (x) dx 4=

⎛ ⎞ϕ =⎜ ⎟

⎝ ⎠∑∫ .

Page 53: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

51

2.3. Interpolación de Lagrange con funciones polinómicas de segundo grado por tramos.

Siendo k un número entero positivo, consideremos un soporte formado por (2k+1) puntos distintos x0, x1, ....., x2k que supondremos ordenados de menor a mayor. En el intervalo [x0, x2k] al que pertenecen todos los puntos del soporte utilizaremos en todo este subapartado la partición ∆ de la forma:

[ ] [ ] 1 0 2 2 2 4 j 2( j 1) 2 j k 2(k 1) 2kI x ,x ,I x ,x ,...,I x ,x ,...,I x ,x− −

⎡ ⎤ ⎡ ⎤∆ = = = = = ⎢ ⎥⎢ ⎥ ⎣ ⎦⎣ ⎦

y denotaremos por L2(∆) al espacio de Lagrange asociado a la partición ∆. Obsérvese que a cada subintervalo Ij (j = 1, ..., k) de la partición ∆ pertenecen los tres puntos del soporte x2(j-1), x2j-1, x2j. Y nótese además que dim(L2(∆)) = 2k+1. Comencemos explicitando la base de Lagrange de L2(∆) asociada al soporte x0, x1, ....., x2k. Propiedad 9. La base de Lagrange de L2(∆) asociada al soporte x0, x1, ....., x2k es la formada por las (2k+1) funciones:

( )( )( )( )

[ ]1 20 2

0 0 1 0 2

x x x xsi x x ,x

(x) x x x x0 en caso contrario

⎧⎪ − −⎪ ∈⎪⎪ϕ = − −⎨⎪⎪⎪⎪⎩

( )( )

( )( )2( j 1) 2 j

2( j 1) 2 j2 j 1 2 j 1 2( j 1) 2 j 1 2 j

x x x xsi x x ,x

(x) x x x x

0 en caso contrario

−−

− − − −

⎧ ⎫⎪ ⎪− −⎪ ⎪⎡ ⎤⎪ ⎪∈ ⎢ ⎥⎪ ⎪⎣ ⎦ϕ = − −⎨ ⎬⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎩ ⎭

(j = 1, ..., k)

( )( )

( )( )( )( )

( )( )

2( j 1) 2 j 12( j 1) 2 j

2 j 2( j 1) 2 j 2 j 1

2 j 1 2( j 1)2 j 2 j 2( j 1)

2 j 2 j 1 2 j 2( j 1)

x x x xsi x x ,x

x x x x

x x x x(x) si x x ,x

x x x x

0 en caso contrario

− −−

− −

+ ++

+ +

⎧ ⎫⎪ ⎪− −⎪ ⎪⎡ ⎤⎪ ⎪∈ ⎢ ⎥⎪ ⎪⎣ ⎦⎪ ⎪− −⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪− −⎪ ⎪⎪ ⎪⎡ ⎤ϕ = ∈⎨ ⎬⎢ ⎥⎣ ⎦⎪ ⎪− −⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎩ ⎭

(j = 1, ..., k-1)

( )( )

( )( )2(k 1) 2k 1

2(k 1) 2k2k 2k 2(k 1) 2k 2k 1

x x x xsi x x ,x

(x) x x x x

0 en caso contrario

− −−

− −

⎧⎪ − −⎪ ⎡ ⎤⎪ ∈ ⎢ ⎥⎪ ⎣ ⎦ϕ = − −⎨⎪⎪⎪⎪⎩

Page 54: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

52

Demostración: Con las expresiones dadas en el enunciado se tiene que:

0 i

1 si i 0(x )

0 si i 0⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩

, j i

1 si i j(x )

0 si i j⎧ =⎪⎪ϕ = ⎨⎪ ≠⎪⎩

(0 < j < 2k-1), 2k i

1 si i 2k(x )

0 si i 2k⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩

00x x

lim (x) 1+→ϕ = ,

i0x x

lim (x) 0→

ϕ = ( 0 < i < 2k) , 2k

0x xlim (x) 0

−→ϕ =

j 1,..,2k 1 :∀ ∈ −

0jx x

lim (x) 0+→ϕ = ,

ijx x

1 si i jlim (x)

0 si i j→

⎧ =⎪⎪ϕ =⎨⎪ ≠⎪⎩ (0 < i < 2k),

2kjx x

lim (x) 0−→ϕ =

y:

02kx x

lim (x) 0+→ϕ = ,

i2kx x

lim (x) 0→

ϕ = ( 0 < i < 2k) , 2k

2kx xlim (x) 1

−→ϕ =

por lo que puede concluirse que las funciones 2k

j j 0(x)

=ϕ son continuas en el

intervalo [x0, x2k].

Por otra parte en cada subintervalo Ii = [x2(i-1) , x2i] (i = 1, ..., k) la expresión de todas las funciones n

j j 0(x)

=ϕ es un polinomio de grado 0 (caso

de que tomen en él el valor nulo) o de grado 2 (en los tramos en que no se anulan).

Todo ello nos permite afirmar que son funciones del espacio L2(∆), y

además, puesto que j i

1 si i j(x )

0 si i j⎧ =⎪⎪ϕ = ⎨⎪ ≠⎪⎩

(0 < i, j < 2k), en virtud del teorema 1

demostrado en el subapartado 2.1., nos garantiza que las funciones n

j j 0(x)

son la base de Lagrange del espacio L1(∆). c.q.d.

Page 55: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

53

Las figuras siguientes recogen los grafos de las funciones de la base de Lagrange. Función 0(x)ϕ :

Función 2j 1(x)−ϕ ( j = 1, ..., k):

Función 2 j(x)ϕ ( j = 1, ..., k-1):

Función 2k (x)ϕ

Obsérvese que la función j(x)ϕ es la única función de la base de

Lagrange que toma valor no nulo en el nodo xj. En ese sentido diremos que la función j (x)ϕ es la función de la base de Lagrange de L2(∆) asociada al

nodo xj. Ejemplo: Determinemos las funciones de la base de Lagrange del espacio L2(∆) asociado al soporte 0, 1, 3, 5, 6.

La partición ∆ correspondiente a este soporte es:

∆ = I1 = [0, 3], I2 = [3, 6] y las 5 funciones de la base de Lagrange están dadas por:

1

x0 x1 xj x2k... ...x2

1

x0 x2j-1 x2j x2k... ...x2j+1x2(j-1) x2(j+1)

1

x0 x2j-1 x2j x2k... ...x2j+1x2(j-1) x2(j+1)

1

x0 xj x2k....... ... x2k-1x2(k-1)

Page 56: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

54

( )( )( )( )

[ ]2

0

x 1 x 3 4 11 x x si x 0,3(x) 0 1 0 3 3 3

0 en caso contrario

⎧⎪ − −⎪ = − + ∈⎪⎪ϕ = − −⎨⎪⎪⎪⎪⎩

( )( )( )( )

[ ]2

1

x 0 x 3 3 1x x si x 0,3(x) 1 0 1 3 2 2

0 en caso contrario

⎧⎪ − −⎪ = − ∈⎪⎪ϕ = − −⎨⎪⎪⎪⎪⎩

( )( )( )( )

[ ]

( )( )( )( )

[ ]

2

22

x 0 x 1 1 1x x si x 0,33 0 3 1 6 6

(x)x 5 x 6 11 15 x x si x 3,63 5 3 6 6 6

⎧⎪ − −⎪ =− + ∈⎪⎪ − −⎪⎪ϕ =⎨⎪ − −⎪⎪ = − + ∈⎪⎪ − −⎪⎩

( )( )( )( )

[ ]2

3

x 3 x 6 9 19 x x si x 3,6(x) 5 3 5 6 2 2

0 en caso contrario

⎧⎪ − −⎪ =− + − ∈⎪⎪ϕ = − −⎨⎪⎪⎪⎪⎩

( )( )( )( )

[ ]2

4

x 3 x 5 8 15 x x si x 3,6(x) 6 3 6 5 3 3

0 en caso contrario

⎧⎪ − −⎪ = − + ∈⎪⎪ϕ = − −⎨⎪⎪⎪⎪⎩

Los grafos de estas funciones de base se recogen en la figura siguiente:

Determinada la base de Lagrange asociada al soporte x0, ..., x2k del espacio L2(∆), el teorema 2 demostrado en el apartado 2.1. nos indica cómo

I1 I2

ϕ0

ϕ1 ϕ3 ϕ2 ϕ4

Page 57: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

55

calcular la función de dicho espacio que interpola en el sentido de Lagrange a cualquier función f(x) de la que se conozcan sus valores en los puntos del soporte. La forma de proceder para ello se concreta en el teorema siguiente: Teorema 5. Dado el soporte x0, ..., x2k y denotando por fj = f(xj) ( j = 0, .., 2k) a los valores que toma una función f(x) en los puntos del soporte y por 2k

j j 0(x)

=ϕ a

las funciones que forman la base de Lagrange del espacio L2(∆) que está asociada a este soporte, se verifica que la función:

2k

j jj 0

u(x) f · (x)=

= ϕ∑

es la única función de L2(∆) que satisface las igualdades:

u(xj) = f(xj) ( j = 0,..., 2k)

A dicha función se la denomina función interpoladora de Lagrange de f(x) del espacio L2(∆) sobre el soporte x0, ..., x2k. Demostración: Es una consecuencia inmediata de aplicar el teorema 2 del apartado 2.1. al espacio L2(∆).

c.q.d. Ejemplo: Dado el soporte 0, 1, 3, 5, 6 calculemos la función del espacio L2(∆) correspondiente que interpola a la función f(x) = sen(π ·x/2). Las funciones de la base de Lagrange de L2(∆) asociadas a este soporte ya fueron calculadas en el ejemplo anterior de este apartado.

Por otra parte, los valores de la función en los puntos del soporte son los siguientes:

f0 = sen (0) = 0, f1 = sen(π /2) = 1, f2 = sen(3·π /2) = -1,

Page 58: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

56

f3 = sen(5π /2) = 1, f4 = sen(6π /2) = 0 Por tanto:

0 1 2 3 4 1 2 3u(x) 0· (x) 1· (x) 1· (x) 1· (x) 0· (x) (x) (x) (x)= ϕ + ϕ − ϕ + ϕ + ϕ = ϕ −ϕ +ϕ

Detallemos el resultado de la combinación lineal que conduce a u(x). Puesto que las funciones de base 4

j j 0(x)

=ϕ están definidas por tramos las

operaciones correspondientes deben ser realizadas tramo a tramo. Más concretamente:

• En el intervalo I1 = [0, 3] se tiene que:

20

4 1(x) 1 x x3 3

ϕ = − + , 21

3 1(x) x x2 2

ϕ = − , 22

1 1(x) x x6 6

ϕ =− + ,

3(x) 0ϕ = y 4(x) 0ϕ =

por lo que en dicho tramo:

1 2 3u(x) (x) (x) (x)= ϕ −ϕ +ϕ = 2 2 23 1 1 1 5 2x x x x x x2 2 6 6 3 3

⎛ ⎞⎟⎜− − − + = −⎟⎜ ⎟⎜⎝ ⎠

• En el intervalo I2 = [3, 6] se tiene que:

0(x) 0ϕ = , 1(x) 0ϕ = , 22

11 1(x) 5 x x6 6

ϕ = − + ,

23

9 1(x) 9 x x2 2

ϕ =− + − y 24

8 1(x) 5 x x3 3

ϕ = − +

por lo que en dicho tramo:

1 2 3u(x) (x) (x) (x)= ϕ −ϕ +ϕ =

= 2 2 211 1 9 1 19 20 5 x x 9 x x 14 x x6 6 2 2 3 3

⎛ ⎞ ⎛ ⎞⎟ ⎟⎜ ⎜− − + + − + − =− + −⎟ ⎟⎜ ⎜⎟ ⎟⎜ ⎜⎝ ⎠ ⎝ ⎠

Resumiendo:

Page 59: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

57

[ ]

[ ]

2

2

5 2x x si x 0,33 3u(x)

19 214 x x si x 3,63 3

⎧⎪⎪ − ∈⎪⎪⎪= ⎨⎪⎪− + − ∈⎪⎪⎪⎩

La representación gráfica de f(x) (en color negro) y de u(x) (su primer tramo en azul y su segundo tramo en rojo) se recoge en la figura siguiente:

• Puesto que el grado de todos los tramos polinómicos de las funciones de L2(∆) es 0 ó 1 ó 2, la propiedad 3 (también demostrada en 2.1.) nos garantiza que:

[ ]2k

j 0 2kj 0

(x) 1 x x ,x=

ϕ = ∀ ∈∑ , [ ]2k

j j 0 2kj 0

x · (x) x x x ,x=

ϕ = ∀ ∈∑

y: [ ]2k

2 2j j 0 2k

j 0

x · (x) x x x ,x=

ϕ = ∀ ∈∑

Ambas igualdades se pueden resumir en la siguiente propiedad: Propiedad 10. Para todo valor de los escalares α , β y γ , siendo 2k

j j 0(x)

=ϕ las

funciones de base del espacio L2(∆) asociadas al soporte x0, x1, ..., x2k, se verifica que:

( ) [ ]2k

2 2j j j 0 2k

j 0

x x · (x) x x x x ,x=

α +β + γ ϕ =α+β + γ ∀ ∈∑

Demostración: Es una consecuencia inmediata de la propiedad 3ª demostrada en el apartado 2.1.

c.q.d.

Tramo I1 Tramo I2

Page 60: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

58

La propiedad anterior garantiza que las (restricciones a [x0, x2k] de las) funciones f(x) que en [x0, x2k] sean polinomios de grado menor o igual que 2 tienen como función interpoladora en L2(∆) la misma (restricción de la ) función f(x). Es más, el teorema 5 demostrado anteriormente nos permite afirmar que si f(x) es una función de L1(∆) su función interpoladora es ella misma. Aún puede refinarse más este resultado con la propiedad siguiente: Propiedad 11. Dado el soporte x0, ..., x2k, sea ∆ la partición de [x0, x2k] dada por :

∆ = I1 = [x0, x2], ..., Ij = [x2(j-1), x2j], ..., Ik = [x2(k-1), x2k] y denotemos por f(x) a una función cualquiera y por u(x) a su función interpoladora del espacio L2(∆). Considerando que estas funciones, en cada tramo, estén definidas por las expresiones:

[ ]1 1 0 2

j j 2( j 1) 2 j

k k 2(k 1) 2k

f (x) si x I x ,x

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

f(x) f (x) si x I x ,x

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

f (x) si x I x ,x

⎧⎪ ∈ =⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤= ∈ =⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤∈ =⎪ ⎢ ⎥⎣ ⎦⎪⎩

,

[ ]1 1 0 2

j j 2( j 1) 2 j

k k 2(k 1) 2k

u (x) si x I x ,x

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

u(x) u (x) si x I x ,x

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

u (x) si x I x ,x

⎧⎪ ∈ =⎪⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤= ∈ =⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤∈ =⎪ ⎢ ⎥⎣ ⎦⎪⎩

si para algún valor del índice “j” tal que 1 < j < k la expresión fj(x) es un polinomio de grado menor o igual que 2 entonces se verifica que uj(x) = fj(x). Demostración: Si fj(x) es un polinomio de grado menor o igual que 2 coincidirá con el polinomio interpolador de Lagrange (16) de f(x) sobre el soporte x2(j-1), x2j. En otros términos, si fj(x) es un polinomio de grado menor o igual que 2 resultará que fj(x) es el único polinomio de grado menor o igual que 2 que verifica las tres igualdades: fi(x2(j-1)) = f(x2(j-1)) , fi(x2j-1) = f(x2j-1) y fi(x2j) = f(x2j). Y puesto que ui(x) debe ser un polinomio de grado menor o igual que 2 verificando que ui(x2(j-1)) = f(x2(j-1)) , ui(x2j-1) = f(x2j-1) y ui(x2j) = f(x2j), puede concluirse que los polinomios ui(x) y fi(x) son el mismo. 16 Puede consultarse el tema anterior la interpolación polinómica de Lagrange para tener una demostración de esta afirmación

Page 61: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

59

c.q.d. Ilustremos la propiedad anterior con un ejemplo. Ejemplo: Determinemos la función del espacio L2(∆) que interpola sobre el soporte de 7 puntos 0,1, 2, 3, 4,5, 6 a la función f(x) definida por:

( )

2

1 x si x 22

f(x) cos x si 2 x 4

25 10x x si 4 x

⎧⎪⎪ ≤⎪⎪⎪⎪⎪⎪= π < <⎨⎪⎪⎪⎪⎪ − + ≤⎪⎪⎪⎩

El grafo de la función f(x) que queremos interpolar se recoge en la figura siguiente:

Calculemos la función de L2(∆) que la interpola. Para ello sabemos que los valores nodales de f(x) son: f0 = f(0) = 0, f1 = f(1) = ½ , f2 = f(2) = 1, f3 = f(3) = cos(3π)= -1,

f4 = f(4) = 25 – 10·4 + 42= 1, f5 = f(5) = 25 – 10·5 + 52= 0

f6 = f(6) = 25 – 10·6 + 62= 1 Por tanto, en virtud del teorema 5 la función interpoladora que nos proporciona u(x) puede calcularse mediante la expresión:

Page 62: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

60

1

20 1 2 3 4 5 6u(x) 0· (x) ( )· (x) 1· (x) 1· (x) 1· (x) 0· (x) 1· (x)= ϕ + ϕ + ϕ − ϕ + ϕ + ϕ + ϕ =

1

2 1 2 3 4 6( ) (x) (x) (x) (x) (x)= ϕ +ϕ −ϕ +ϕ +ϕ

Las expresiones de las funciones de la base de Lagrange, según la propiedad 9, están dadas por(17):

[ ]2

0

3 11 x x si x 0,2(x) 2 2

0 en otro caso

⎧⎪⎪ − + ∈⎪ϕ =⎨⎪⎪⎪⎩

, [ ]2

12x x si x 0,2(x)

0 en otro caso

⎧⎪ − ∈⎪ϕ =⎨⎪⎪⎩

[ ]

[ ]

2

22

1 1x x si x 0,22 2

7 1(x) 6 x x si x 2,42 2

0 en otro caso

⎧⎪⎪− + ∈⎪⎪⎪⎪⎪⎪ϕ = − + ∈⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

, [ ]2

38 6x x si x 2,4(x)

0 en otro caso

⎧⎪− + − ∈⎪ϕ =⎨⎪⎪⎩

[ ]

[ ]

2

24

5 13 x x si x 2,42 211 1(x) 15 x x si x 4,62 2

0 en otro caso

⎧⎪⎪ − + ∈⎪⎪⎪⎪⎪⎪ϕ = − + ∈⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

, [ ]2

524 10x x si x 4,6(x)

0 en otro caso

⎧⎪− + − ∈⎪ϕ =⎨⎪⎪⎩

[ ]2

6

9 110 x x si x 4,6(x) 2 2

0 en otro caso

⎧⎪⎪ − + ∈⎪ϕ =⎨⎪⎪⎪⎩

La figura siguiente recoge las gráficas de estas funciones de base.

17 Calculamos, para que practique el lector, las 7 funciones de base aunque en este caso nos bastaría con calcular sólo las funciones ϕ1(x), ϕ3(x), ϕ4(x) y ϕ6(x).

Page 63: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

61

Con estas expresiones se tiene que:

12 1 2 3 4 6u(x) ( ) (x) (x) (x) (x) (x)= ϕ +ϕ −ϕ +ϕ +ϕ

que operando tramo a tramo nos conduce a:

• En [0, 2]: 21(x) 2x xϕ = − , 2

21 1(x) x x2 2

ϕ =− + , 3(x) 0ϕ = , 4(x) 0ϕ = y

6(x) 0ϕ = por lo que:

u(x) = x –( ½)x2 + (-½)x + ( ½)x2 = ( ½)x [ ]0,2∀ ∈

• En [2, 4]: 1(x) 0ϕ = , 22

7 1(x) 6 x x2 2

ϕ = − + , 23(x) 8 6x xϕ =− + − ,

24

5 1(x) 3 x x2 2

ϕ = − + y 6(x) 0ϕ = por lo que:

u(x) = (6 – (-8) +3) + ( )57

2 26 x− − − + ( ) 21 12 2( 1) x− − + =

= 17 – 24x+2x2 [ ]2,4∀ ∈

• En [4, 6]: 1(x) 0ϕ = , 2(x) 0ϕ = , 3(x) 0ϕ = , 24

11 1(x) 15 x x2 2

ϕ = − + , y

26

9 1(x) 10 x x2 2

ϕ = − + por lo que:

u(x) =(15 + 10) – ( )911

2 2 x+ + ( ) 21 12 2 x+ = 25 – 10x + x2 [ ]4,6∀ ∈

Page 64: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

62

Puede observase como en [0, 2] y en [4, 6] la función interpoladora u(x) tiene la misma expresión que la función f(x), tal cual nos asegura la propiedad 11(18). En resumen:

[ ]

[ ]

[ ]

2

2

1 x si x 0,22

u(x) 17 12x 2x si x 2,4

25 10x x si x 4,6

⎧⎪⎪ ∈⎪⎪⎪⎪⎪⎪= − + ∈⎨⎪⎪⎪⎪⎪ − + ∈⎪⎪⎪⎩

La representación gráfica en [0, 6] de f(x) y de u(x) se recoge en la figura siguiente:

Se deja al lector comprobar que la suma de las 7 funciones de la base de Lagrange proporciona como resultado la función unidad en el intervalo [0, 6].

• Al igual que se señaló en el caso de funciones polinómicas a trozos de primer grado, existen formas menos laboriosas de calcular la expresión de la función interpoladora. En efecto, el proceso descrito en el teorema 5 nos proporciona una expresión global de la función interpoladora, es decir, una expresión válida sobre todo el intervalo [x0, x2k]. Pero si se determina la función interpoladora localmente, es decir, “subintervalo a subintervalo” el proceso puede simplificarse pues se reduce a calcular tramos de polinomios

18 De hecho aquí hemos hallado detalladamente los tramos de la función interpoladora en [0, 2] y en [4, 6] para ilustrar la propiedad 11. En la práctica los tramos en que f(x) sea un polinomio de grado menor o igual que 2 no exigirían ningún cálculo para ser interpolados en L2(∆).

Page 65: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

63

interpoladores sobre soportes de tres puntos. Las propiedades siguientes recogen dos formas de determinar la función interpoladora(19) localmente. Propiedad 12. Dado el soporte x0, ..., x2k, denotando por fj = f(xj) (j = 0, .., 2k) a los valores que toma una función f(x) en los puntos del soporte y por :

( )( )( )( )

2 j 1 2 j( j)0

2( j 1) 2 j 1 2( j 1) 2 j

x x x xL (x)

x x x x−

− − −

− −=

− − (j = 1, ..., k)

( )( )( )( )

2( j 1) 2 j( j)1

2 j 1 2( j 1) 2 j 1 2 j

x x x xL (x)

x x x x−

− − −

− −=

− − (j = 1, ..., k)

y ( )( )

( )( )2( j 1) 2 j 1( j)

22 j 2( j 1) 2 j 2 j 1

x x x xL (x)

x x x x− −

− −

− −=

− − (j = 1, ..., k)

a los polinomios de base de Lagrange asociados al soporte x2(j-1), x2j-1, x2j se verifica que las funciones de la base de Lagrange del espacio L2(∆) pueden definirse mediante las expresiones :

[ ](1)0 0 2

0L (x) si x x ,x(x)

0 en otro caso

⎧⎪ ∈⎪ϕ = ⎨⎪⎪⎩

( j)1 2( j 1) 2 j

2 j 1

L (x) si x x ,x(x)

0 en otro caso−

⎧ ⎡ ⎤⎪ ∈ ⎢ ⎥⎪ ⎣ ⎦ϕ = ⎨⎪⎪⎩ (j = 1, ..., k)

( j 1)2 2( j 1) 2 j

( j)2 j 0 2 j 2( j 1)

L (x) si x x ,x

(x) L (x) si x x ,x

0 en otro caso

−−

+

⎧ ⎡ ⎤⎪ ∈ ⎢ ⎥⎪ ⎣ ⎦⎪⎪⎪ ⎡ ⎤ϕ = ∈⎨ ⎢ ⎥⎣ ⎦⎪⎪⎪⎪⎪⎩

(j = 1, ...., k-1)

(k)2 2(k 1) 2k

2k

L (x) si x x ,x(x)

0 en otro caso−

⎧ ⎡ ⎤⎪ ∈ ⎢ ⎥⎪ ⎣ ⎦ϕ = ⎨⎪⎪⎩

19 Es muy frecuente que nuestros alumnos se formen la impresión de que al usar métodos distintos para determinar la función interpoladora las funciones que se obtienen de una u otra forma son diferentes. En este sentido debe tenerse siempre presente que la función interpoladora es única y que cualquiera de los métodos que se utilicen para determinarla conducen a la misma función interpoladora.

Page 66: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

64

Además la función interpoladora de Lagrange de f(x) del espacio L2(∆) sobre el soporte x0, ..., xn queda definida por las expresiones:

[ ](1) (1) (1)0 0 1 1 2 2 1 0 2

( j) ( j) ( j)2( j 1) 0 2 j 1 1 2 j 2 j 2( j 1) 2 j

(k ) (k )2(k 1) 0 2k 1 1

f ·L f ·L (x) f ·L (x) si x I x ,x

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

u(x) f ·L f ·L (x) f ·L (x) si x I x ,x

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

f ·L f ·L (x) f

− − −

− −

+ + ∈ =

⎡ ⎤= + + ∈ = ⎢ ⎥⎣ ⎦

+ + (k )2k 2 k 2(k 1) 2k·L (x) si x I x ,x−

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤∈ =⎪ ⎢ ⎥⎣ ⎦⎪⎩

Demostración:

Según las expresiones dadas para las funciones de base de Lagrange en la propiedad 9 las expresiones aquí dadas para ellas son inmediatas.

Además, según estas expresiones, es evidente que en Ij = [x2(j-1), x2j] todas

las funciones de la base de Lagrange son nulas salvo las funciones 2( j 1)(x)−ϕ ,

2 j 1(x)−ϕ y 2 j(x)ϕ que, en ese subintervalo, están dadas por:

( j) ( j) ( j)

j 2( j 1) 2 j 2( j 1) 0 2 j 1 1 2 j 2x I x ,x : (x) L (x), (x) L (x), (x) L (x)− − −⎡ ⎤∀ ∈ = ϕ = ϕ = ϕ =⎢ ⎥⎣ ⎦

por lo que:

2k

j 2( j 1) 2 j i i 2( j 1) 2( j 1) 2 j 1 2 j 1 2 j 2 ji 0

x I x ,x : u(x) f · (x) f · (x) f · (x) f · (x)− − − − −=

⎡ ⎤∀ ∈ = = ϕ = ϕ + ϕ + ϕ =⎢ ⎥⎣ ⎦ ∑

( j) ( j) ( j)

2( j 1) 0 2 j 1 1 2 j 2f ·L (x) f ·L (x) f ·L (x)− −= + +

c.q.d. Obsérvese que el tramo de la función interpoladora en Ij (j = 1, ..., k) puede ser calculado, según la propiedad 12ª, utilizando la fórmula de Lagrange para calcular el polinomio interpolador de Lagrange sobre el soporte x2(j-1), x2j-1, x2j. Ahora bien, según se detalló en el tema dedicado a la interpolación polinómica, el polinomio interpolador de Lagrange también puede calcularse mediante la fórmula de Newton. En este sentido, la propiedad que sigue proporciona las expresiones correspondientes a calcular localmente la función interpoladora utilizando la fórmula de interpolación de Newton.

Page 67: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

65

Propiedad 13. Dado el soporte x0, ..., x2k y denotando por fj = f(xj) ( j = 0, .., 2k) a los valores que toma una función f(x) en los puntos del soporte se verifica que la función interpoladora de Lagrange de f(x) del espacio L2(∆) sobre el soporte x0, ..., x2k está dada por la expresión:

[ ] [ ] [ ]0 0 1 0 0 1 2 0 1 1 0 2

2( j 1) 2( j 1) 2 j 1 2( j 1) 2( j 1) 2 j 1 2 j 2( j 1) 2 j 1 j 2( j 1) 2 j

f f x ,x ·(x x ) f x ,x ,x ·(x x )·(x x ) si x I x ,x

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

u(x) f f x ,x ·(x x ) f x ,x ,x ·(x x )·(x x ) si x I x ,x− − − − − − − − −

+ − + − − ∈ =

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= + − + − − ∈ =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

2(k 1) 2(k 1) 2k 1 2(k 1) 2(k 1) 2k 1 2k 2(k 1) 2k 1 k 2(k 1) 2k

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

f f x ,x ·(x x ) f x ,x ,x ·(x x )·(x x ) si x I x ,x− − − − − − − − −

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤+ − + − − ∈ =⎪ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎪ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎩

donde f[x2(j-1), x2j-1] y f[x2(j-1), x2j-1, x2j] son las diferencias divididas:

2 j 1 2( j 1)

2( j 1) 2 j 12 j 1 2( j 1)

f(x ) f(x )f x ,x

x x− −

− −− −

−⎡ ⎤ =⎢ ⎥⎣ ⎦ −

2 j 2 j 1 2 j 1 2( j 1)

2 j 2 j 1 2 j 1 2( j 1)2( j 1) 2 j 1 2 j

2 j 2( j 1)

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

f x ,x ,xx x

− − −

− − −− −

− −−

− −⎡ ⎤ =⎢ ⎥⎣ ⎦ −

Demostración: La demostración de esta propiedad es una consecuencia inmediata de aplicar la fórmula de Newton para el cálculo del polinomio interpolador al tramo de la función en cada subintervalo Ij al que pertenecen los puntos x2(j-1), x2j-1, x2j.

c.q.d. Denotemos por f(x) a una cierta función y por u(x) a la función de L2(∆) que la interpola sobre el soporte x0, x1, ..., x2k. Puesto que los valores nodales de f(x) y de u(x) son los mismos es obvio que en los puntos del soporte se verificará que u(xj) = f(xj) (j = 0, ..., 2k). Pero esta coincidencia de valor no se producirá en general en cualquier otro punto x perteneciente al intervalo [x0, x2k]. El teorema siguiente nos muestra una expresión del error local de interpolación cometido en cada punto, vinculándolo al error de interpolación polinómica de Lagrange con soportes de 3 puntos. Teorema 6.

Page 68: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

66

Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L2(∆) sobre el soporte x0, ..., x2k y suponiendo que para algún valor del índice j ( con 1 < j < k) se verifica que 3

2( j 1) 2 jf C ((x ,x ))−∈ y que f(x) es continua por la derecha

en x2(j-1) y que f(x) es continua por la izquierda en x2j, entonces: 2( j 1) 2 j j 2( j 1) 2 jx x ,x x ,x / E(x) f(x) u(x)− −

⎤ ⎡ ⎤ ⎡∀ ∈ ∃ξ =∈ = − =⎥ ⎢ ⎥ ⎢⎦ ⎣ ⎦ ⎣

( )j2( j 1) 2 j 1 2 j

f '''(x x )·(x x )·(x x )

6 − −

ξ= − − −

Demostración: Puesto que la expresión anterior es válida para todo punto interior al intervalo Ij, el error (f(x) – u(x)) coincide con el error entre f(x) y el polinomio p(j)(x) que define a la función interpoladora en el subintervalo Ij. Y como este polinomio es el polinomio que interpola a f(x) sobre el soporte x2(j-1), x2j-1, x2j basta con aplicar el teorema que nos proporciona la expresión del error de interpolación polinómica(20) a este caso particular.

c.q.d. Una primera consecuencia del teorema anterior es la ratificación de la propiedad 11ª. En efecto si en el subintervalo Ij la función f(x) tuviera una expresión polinómica de grado menor o igual a 2, será nula su tercera derivada en cualquier punto interior a Ij y en consecuencia el error en todo punto de Ij es nulo. En otros términos, en ese caso la función f(x) coincidirá con la función interpoladora en todo punto del intervalo Ij. Pero el teorema anterior también nos permite obtener cotas locales del error de interpolación. Algunas de ellas son las recogidas a continuación. Corolario 3 Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L2(∆) sobre el soporte x0, ..., x2k y suponiendo que para algún valor del índice j ( con 1 < j < k) se verifica que 3

2( j 1) 2 jf C ((x ,x ))−∈ y que f(x) es continua por la derecha

en x2(j-1) y que f(x) es continua por la izquierda en x2j , entonces: a)

2( j 1) 2 j

2( j 1) 2 j j 2( j 1) 2 j 1 2 jx x ,x

1x x ,x : E(x) f(x) u(x) M · Sup (x x )·(x x )·(x x )6 −

− − −⎤ ⎡∈⎥ ⎢⎦ ⎣

⎤ ⎡∀ ∈ = − ≤ − − −⎥ ⎢⎦ ⎣

donde 2( j 1) 2 j

jx x ,x

M Sup f '''(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

=

20 Vése el teorema 2 del apartado 2.2. del tema anterior dedicado a la interpolación polinómica.

Page 69: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

67

b) 32( j 1) 2 j j j

2x x ,x : E(x) f(x) u(x) M ·h81−

⎤ ⎡∀ ∈ = − ≤⎥ ⎢⎦ ⎣ , donde 2( j 1) 2 j

jx x ,x

M Sup f '''(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

=

y hj = |x2j – x2(j-1)|. Demostración:

a) La primera acotación es inmediata pues basta con tomar valor absoluto en la expresión del error y sustituir el valor de |f’’’(ξj)| por el supremo de |f’’’(x)| en el intervalo ]x2(j-1), x2j[ y el valor de |(x-x2(j-1))·(x-x2j-1)·(x-x2j)| por su supremo en ]x2(j-1), x2j[.

b) La segunda acotación concreta la primera especificando una cota de

|(x-x2(j-1))·(x-x2j-1)·(x-x2j)|. En efecto, dicha cota se busca para x diferente a los puntos del soporte (pues en ellos la expresión que se quiere acotar se anula) y denotando por hj a la longitud del intervalo [x2(j-1), x2j], y a la distancia del punto x de dicho intervalo al extremo izquierdo x2(j-1) por αhj donde α es algún valor tal que 0 < α < 1. Con esta notación es obvio que |x – x2j| = (1-α )hj. En cuanto a la distancia de x al punto del soporte interior, x2j-1, es evidente que se verificará, una de las dos desigualdades siguientes:

b-1ª) Si x > x2j-1 entonces |x – x2j-1| < α hj por lo que: |(x-x2(j-1))·(x-x2j-1)·(x-x2j)| 3 2 3

j j· ·(1 )h ·(1 )h≤ α α − α = α − α

Los extremos de la función 2g( ) ·(1 )α = α − α se alcanzan para los valores *α tales que g'( *) 0α = , es decir:

( )2

23

* 02 *·(1 *) * 0

*α =⎧

α − α − α = ⇒ ⎨α =⎩

La solución nula no presenta interés (conduce a un punto x que coincide con x2(j-1) en donde ya sabemos que el error que es nulo) mientras que la otra solución nos permite escribir que:

|(x-x2(j-1))·(x-x2j-1)·(x-x2j)| 2 3 3 3j j j

4 1 4·(1 )h · ·h h9 3 27

≤ α − α ≤ =

b-2ª) Si x < x2j-1 entonces |x – x2j-1| < (1 )−α hj por lo que: |(x-x2(j-1))·(x-x2j-1)·(x-x2j)| 3 2 3

j j·(1 )·(1 )h ·(1 ) h≤ α − α − α = α − α

Los extremos de la función 2g( ) ·(1 )α = α − α se alcanzan para los valores *α tales que g'( *) 0α = , es decir:

( )2

13

* 1(1 *) 2· *· 1 * 0

*α =⎧

− α − α − α = ⇒ ⎨α =⎩

Page 70: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

68

La solución unidad no presenta interés (conduce a un punto x que coincide con x2j en donde ya sabemos que el error es nulo) mientras que la otra solución nos permite escribir que:

|(x-x2(j-1))·(x-x2j-1)·(x-x2j)| 2 3 3 3j j j

1 4 4·(1 ) h · ·h h3 9 27

≤ α − α ≤ =

En ambos casos:

2( j 1) 2 jx x ,x :−⎤ ⎡∀ ∈ ⎦ ⎣ |(x-x2(j-1))·(x-x2j-1)·(x-x2j)| 3j

4 h27

Introduciendo esta desigualdad en la expresión de la acotación a) se obtiene finalmente que:

3j 1 j j j

2x x ,x : E(x) f(x) u(x) M ·h81−

⎤ ⎡∀ ∈ = − ≤⎥ ⎢⎦ ⎣

c.q.d. Obsérvese que la expresión del error local, y por tanto de las acotaciones realizadas a partir de ella, sólo son válidas bajo las hipótesis de regularidad de f(x) en el intervalo [xj-1, xj] que se recogen en el teorema 4 o en su corolario. Cuando la función f(x) no verifica tales condiciones, el error debe ser expresado como (f(x) – u(x)) y sus cotas locales deben obtenerse maximizando el valor absoluto de esta expresión. De las acotaciones locales anteriores pueden extraerse acotaciones globales sin más que considerar que la cota del error global en [x0, xn] será la mayor de las cotas locales que se obtengan en cada intervalo. En este sentido el corolario siguiente recoge acotaciones globales. Corolario 4

a) Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L2(∆) sobre el soporte x0, ..., x2k y suponiendo que para todo valor del índice j ( con 1 < j < k) se verifica que 3

2( j 1) 2 jf C ((x ,x ))−∈ y que f(x) es

continua por la derecha en x2(j-1) y que f(x) es continua por la izquierda en x2j, entonces:

[ ] ( )30 2k j j1 j k

2x x ,x : E(x) f(x) u(x) Max M ·h81 ≤ ≤

∀ ∈ = − ≤

donde 2( j 1) 2 j

jx x ,x

M Sup f '''(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

= y hj = |x2j – x2(j-1)|.

b) Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio

L2(∆) sobre el soporte x0, ..., x2k y suponiendo que para todo valor del índice j ( con 1 < j < k) se verifica que 3

2( j 1) 2 jf C ((x ,x ))−∈ y que f(x) es

Page 71: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

69

continua por la derecha en x2(j-1) y que f(x) es continua por la izquierda en x2j, entonces:

[ ] 30 2k

2x x ,x : E(x) f(x) u(x) M·h81

∀ ∈ = − ≤

donde 2( j 1) 2 j

jx x ,x

M Sup f '''(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

= , hj =|x2j–x2(j-1)|, j1 j kM Max M

≤ ≤= y j1 j k

h Max h≤ ≤

= .

c) Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio

L2(∆) sobre el soporte x0, ..., x2k y suponiendo que 30 2kf C (]x ,x [)∈ y

que f(x) es continua por la derecha en x0 y que f(x) es continua por la izquierda en x2k, entonces:

[ ] 30 2k

2x x ,x : E(x) f(x) u(x) M·h81

∀ ∈ = − ≤

donde

] [0 2kx x ,xM Sup f '''(x)

∈= , hj = |x2j – x2(j-1)| y j1 j k

h Max h≤ ≤

= .

Demostración: Las tres acotaciones realizadas son inmediatas a partir de las recogidas en el corolario 3. Se dejan los detalles como ejercicio propuesto al lector.

c.q.d. Ejemplos: 1º La función del espacio L2(∆) que interpola sobre el soporte de 7 puntos x0 = 0, x1 = 1, x2 = 2, x3 = 3, x4 = 4, x5 = 5, x6 = 6 a la función f(x) definida por:

( )

2

1 x si x 22

f(x) cos x si 2 x 4

25 10x x si 4 x

⎧⎪⎪ ≤⎪⎪⎪⎪⎪⎪= π < <⎨⎪⎪⎪⎪⎪ − + ≤⎪⎪⎪⎩

es (véase uno de los ejemplos anteriores desarrollados en este apartado):

[ ]

[ ]

[ ]

2

2

1 x si x 0,22

u(x) 17 12x 2x si x 2,4

25 10x x si x 4,6

⎧⎪⎪ ∈⎪⎪⎪⎪⎪⎪= − + ∈⎨⎪⎪⎪⎪⎪ − + ∈⎪⎪⎪⎩

Puesto que f(x) es continua en todo punto interior a cualquiera de los subintervalos I0 = [0, 2], I1 = [2, 4] e I2 = [4, 6], se puede aplicar el teorema 6 para obtener que:

Page 72: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

70

] [x 0,2 : E(x) 0∀ ∈ =

] [3 sin( )x 2,4 / E(x) ·(x 2)·(x 3)·(x 4)

6−π πξ

∀ ∈ ∃ξ = − − −

] [x 4,6 : E(x) 0∀ ∈ =

Obsérvese que en los intervalos ]0, 2[ y ]4, 6[, al ser f(x) en él una función polinómica de grado menor o igual a 2, el error de interpolación es nulo. Puesto que:

] [( )( )

x 2,4Sup sen x 1∈

π =

y que la longitud de todos los subintervalos es 2, las expresión local del error en ]2, 4[ puede acotarse por:

] [ 3 3 32 16x 2,4 : E(x) ·281 81

∀ ∈ ≤ π = π

Y dado que en los demás subintervalos el error es nulo, puede afirmarse que:

[ ] 316x 0,6 : E(x)81

∀ ∈ ≤ π .

Verifiquémoslo. La función de error en ]2, 4[ está dada por:

E(x) = f(x) – u(x) = cos(πx) – 17+ 12x – 2x2

La figura siguiente recoge las gráficas de la función f(x) y la función interpoladora u(x) (figura de la izquierda) y la gráfica del error E(x).

Page 73: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

71

En el intervalo [2, 4] los extremos de E(x) se alcanzarán en los puntos21 en que se anule la primera derivada del error, es decir:

*1x 2.32733971...= , *

2x 3= , y *3x 3.67266028...=

en donde se tiene que:

E(x1*) = 0.611273... < 0.612, E(x2*) = 0 y E(x3*) = 0.611273... < 0.612

En resumen el máximo de la función |E(x)| en [0, 6] es 0.6112.... La cota hallada anteriormente fue 316·

81π ≈ 6.124... que, efectivamente, es

mayor que el máximo valor que toma el error. Ejercicios resueltos: 1º. Considérese el soporte equidistante formado por los 7 puntos:

S = x0 = 0, x1 = 1, x2 = 2, x3 = 3, x4 = 4, x5 = 5, x6 = 6

a) Denotando por ∆ a la partición del intervalo [0, 6] en los 3 subintervalos:

∆ = [0, 2], [2, 4] , [4, 6] y por L2(∆) al espacio de las funciones continuas definidas por tramos en cada subintervalo de la partición ∆ mediante un polinomio de grado menor o igual que 2, determínese las funciones ϕ2(x) y ϕ5(x) que pertenecen a la base de Lagrange de L2(∆) asociada al soporte S y que verifican ϕ2(2) = 1 y ϕ5(5) = 1 respectivamente. Represéntese la gráfica de ambas funciones de base en el intervalo [0, 6]. b) Siendo ϕi(x)0<i<6 las 7 funciones de base de Lagrange del espacio L2(∆)que están asociadas al soporte S, razónese de forma detallada la veracidad o falsedad de la siguiente expresión:

=

⎛ ⎞ϕ =⎜ ⎟

⎝ ⎠∑∫

6 62

ii 00

i · (x) dx 72

21 Se deja como ejercicio propuesto al lector aplicar alguno de los métodos de resolución de ecuaciones vistos en otros temas de la asignatura para determinar los puntos en que el Error toma sus valores extremos.

Page 74: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

72

c) Siendo f(x) la función:

f(x) = ⎧ − + ≤⎨

− >⎩

22 10·x 4·x si x 214 2·x si x 2

determínese la función u(x) del espacio L2(∆) considerado en el primer apartado que interpola a f(x) sobre el soporte S. Asimismo dedúzcase de forma razonada una cota del error de interpolación válida para todos los puntos del intervalo [0, 6]. Solución:

a)

[ ]

[ ][ ]

2

x(x 1) si x 0,22

(x 3)(x 4)(x) si x 2,420 si x 0,4

−⎧ ∈⎪⎪

− −⎪ϕ = ∈⎨⎪

∉⎪⎪⎩

[ ][ ]5

(x 4)(6 x) x 4,6(x)

0 x 4,6⎧ − − ∈⎪ϕ = ⎨ ∉⎪⎩

b) En primer lugar observemos que con el soporte S dado puede escribirse que:

6 62 2

i i ii 0 i 0

v(x) i · (x) x · (x)= =

= ϕ = ϕ∑ ∑

ϕ2(x) ϕ5(x)

Gráficas de las funciones de base pedidas

Page 75: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

73

La expresión anterior se corresponde con la función de L2(∆) que interpola sobre el soporte S a la función f(x) = x2. Pero la propia función f(x) = x2 pertenece al espacio L2(∆) (ya que evidentemente es una función continua y en cada uno de los tramos de ∆ es un polinomio de segundo grado). Por tanto

[ ]v(x) f(x) x 0,6≡ ∀ ∈ lo que implica que:

6 66

2 2 3i

i 00 0

1i · (x) dx x dx 6 723=

⎛ ⎞ϕ = = =⎜ ⎟

⎝ ⎠∑∫ ∫

En resumen la expresión dada es correcta. c) La función f(x) es una función cuya restricción al intervalo [0, 6] puede definirse en cada uno de los subintervalos de ∆ por un polinomio de grado menor o igual que 2. No obstante, la función f(x) no es una función del espacio L2(∆) ya que no es una función continua en [0, 6] pues:

2

x 2 x 2 x 2 x 2lim f(x) lim (2 10x 4x ) 2 lim f(x) lim (14 2x) 10

− − + +→ → → →= − + = − ≠ = − =

La función interpoladora u(x) coincidirá con la expresión de f(x) en el intervalo [0,2] y en el intervalo [4, 6]. Por tanto en dichos intervalos el error de interpolación será nulo. En el intervalo [2, 4] la función es continua en todos sus puntos interiores pero no es continua por la derecha en el extremo izquierdo x = 2 ( en dicho punto la función toma el valor –2 mientras que su límite por la derecha es 10). Por ello no son aplicables a dicho intervalo ni el teorema 6 ni sus corolarios 3 y 4 que trataban sobre el error de este tipo de interpolación. El error de interpolación deberemos tratarlo entonces determinando la función de error como E(x) = f(x) – u(x). Para ello, en el intervalo [2, 4], con el soporte 2, 3, 4 se tiene que:

f(2) = -2, f(3) = 8, f(4) = 6 por lo que la tabla de diferencias divididas correspondiente es:

i ix f f[,] f[,,]2 2 10 63 8 24 6

→ − → → −→ → −→

Page 76: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

74

siendo el polinomio interpolador en este tramo: -2 +10(x-2) –6(x-2)(x-3) = -58 + 40x – 6x2

por lo que la función interpoladora es:

[ ]

2

2

2 10x 4x x [0,2]u(x) 58 40x 6x x [2,4]

14 2x x 4,6

⎧ − + ∈⎪= − + − ∈⎨⎪ − ∈⎩

De esta forma, en el subintervalo ]2, 4[ el error de interpolación está dado por: E(x) = (14 – 2x) – (-58 + 40x – 6x2) = 6x2 – 42x + 72 Este error de interpolación tiene un punto crítico en la abscisa para la que se anula E’(x) es decir en x* = 42 / 12 = 3.5. En dicho punto E(x) = -1.5. Por otra parte cuando x tiende a los extremos del intervalo ]2, 4[ se tiene que:

( )2

x 2 x 2lim E(x) lim 6x 42x 72 12

+ +→ →= − + =

( )2

x 4 x 4lim E(x) lim 6x 42x 72 0

− −→ →= − + =

Comparando el valor supremo del error con su valor mínimo, podemos concluir que la cota de error de interpolación buscada es:

|E(x)| < 12 [ ]x 0,6∀ ∈

La figura siguiente recoge la gráfica del valor absoluto de la función de error:

Page 77: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

75

• 2º. La deformación transversal w(x) de una viga doblemente empotrada sobre la que actúa una fuerza constante f viene dada por la función:

2 22 3 402M - f.L f.L fw(x) = x + x - x

4.b 6.b 24.b

donde L es la longitud de la viga, b es la resistencia a la flexión (producto del módulo de elasticidad por el momento de inercia) y M0 es el momento flector en el extremo izquierdo de la viga. En un cierto sistema de unidades y para una viga determinada los valores de los parámetros anteriores son:

M0 = 4, f = 2, b = 1, L = 6 Siendo u(x) la función polinómica a trozos de segundo grado que interpola a w(x) sobre un soporte de 13 puntos equidistantes 12

i i 0x

=, tales que se verifica:

0 = x0 < x1 < x2 < ..... < x12 = L se pide:

a) evalúese el error que se comete en la interpolación realizada en el punto 11·Lx*24

= .

b) Obténgase una cota del error de interpolación válida en todo [0, L] Solución: a) Con los datos del problema x* = 11·L/26 = 11·6/24 = 11/4. Además la distancia entre dos puntos consecutivos del soporte será:

L 6 1Hn 12 2

= = =

por lo que los 13 puntos del soporte son: 3 51

2 2 20 1 2 3 4 5 6x 0, x , x 1, x , x 2, x , x 3,= = = = = = =

97 112 2 27 8 9 10 11 12x , x 4, x , x 5, x , x 6= = = = = =

y la partición de [0, 6] a considerar es:

[ ] [ ] [ ] [ ] [ ] [ ] 1 2 3 4 5 6I 0,1 , I 1,2 , I 2,3 , I 3,4 , I 4,5 , I 5,6∆ = = = = = = =

Page 78: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

76

Puesto que lo único que se pide es el error cometido en x* = 11/4 y este punto pertenece al subintervalo I3 = [2, 3], será suficiente con determinar el polinomio de grado no mayor que 2 que define a la función u(x) de L2(∆) que interpola a w(x) en el intervalo [2, 3]. Para ello sabemos que, con los datos del enunciado, w(x) = -16·x2 + 12·x3 – (1/12)·x4 y por tanto: w4 = w(x4) = w(2) = 92

3

w[x4, x5] =

16175 923429192 3

1 322

−=

w5 = w(x5) = w( 52 ) = 16175

192

w[x5, x6] =

693 16175170894 192

1 962

−=

w6 = w(x6) = w(3) = 6934

w[x4, x5, x6] =

17089 3429340196 32

1 48

−=

Ello, utilizando la fórmula de Newton para el cálculo del polinomio interpolador, nos conduce a que:

[ ] ( )523

92 3429 3401I 2,3 : u(x) (x 2) (x 2)· x3 32 48

∀ ∈ = = + − + − −

En particular en x* se verifica que:

( ) ( ) ( ) ( )511 11 11 114 4 4 4 2

92 3429 3401 95477u* u 2 2 ·3 32 48 768

= = + − + − − =

Finalmente, como ( )114

380303w3072

= se tiene que el error de interpolación en x*

es:

( ) ( ) ( )11 11 114 4 4

535E w u 0.52246....1024

= − = − = −

b) Para obtener una cota del error de interpolación válida en el intervalo [0, 6] puede procederse a

Page 79: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

77

• calcular todos los tramos de la función interpoladora u(x) y tras ello obtener el máximo en [0, 6] de la función |E(x)| = |w(x) – u(x)| o,

• sin necesidad de calcular la función u(x) y puesto que w(x) es una

función de clase C3(R ), aplicar la última de las expresiones de acotación del error presentadas en el corolario 4.

Siguiendo este último camino se tiene que:

w(x) = -16·x2 + 12·x3 – (1/12)·x4 w’(x)= -32·x + 36·x2 – (1/3)·x3

w”(x)= -32 + 72·x –x2 w’’’(x)= 72 –2x por lo que:

] [( )

x 0,6M Sup w '''(x) 72

∈= = .

Ello unido a que la longitud de todos los subintervalos de la partición es la unidad nos lleva a que:

[ ] 32 2 144x 0,6 : E(x) f(x) u(x) M·h ·72·181 81 81

∀ ∈ = − ≤ = = =1.7777....

• Ejercicios propuestos: 1º. a) Determinar la función interpoladora en L2(∆) de f(x) = 1/(1+x2) para el soporte de 5 puntos: -3, 1, 0, 1, 3. b) Calcular y dibujar las funciones de la base de Lagrange del espacio usado en el apartado anterior. c) Determinar una cota del error de interpolación válida en todo [-3, 3]. 2º. a) Determinar la función interpoladora de L2(∆) para la partición de [0, 2] con los puntos de soporte 0, ½ , 1, 3

2 , 2 de la función f(x) = |e-x – ½ |. Hallar una

cota de error válida en todo el intervalo [0, 2]. Comparar los resultados con los obtenidos en el 2º ejercicio propuesto del apartado 2.2.

Page 80: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

78

b) Razónese si las funciones de base de Lagrange del espacio L2(∆) usado en

el apartado anterior verifican [ ]4

ii 0

i· ' (x) 2 x 0,2=

ϕ = ∀ ∈∑ .

3º. Demuestra, a apartir del teorema 6, el siguiente corolario: Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L2(∆) sobre el soporte x0, ..., x2k y suponiendo que para algún valor del índice j ( con 1 < j < k) se verifica que 3

2( j 1) 2 jf C ((x ,x ))−∈ , que f(x) es continua por la

derecha en x2(j-1) , que f(x) es continua por la izquierda en x2j , y que (x2j – x2j-1) = (x2j-1 – x2(j-1)) entonces:

3

2( j 1) 2 j j j2x x ,x : E(x) f(x) u(x) M ·h

72 3−⎤ ⎡∀ ∈ = − ≤⎥ ⎢⎦ ⎣ ,

donde

2( j 1) 2 j

jx x ,x

M Sup f '''(x)−

⎤ ⎡∈⎥ ⎢⎦ ⎣

= y hj = |x2j – x2(j-1)|.

Page 81: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

79

2.4. Interpolación de Lagrange con funciones polinómicas por tramos: caso general. Ocupémonos ahora de generalizar el proceso de interpolación por tramos que, en los dos subapartados anteriores, se realizó en los espacios L1(∆) y L2(∆). Para ello siendo k un entero positivo, y dados k enteros positivos m1, m2, ... y mk, tales que su suma sea n, supondremos que en el soporte x0, ..., xn hay (m1 + m2 + ... + mk +1) = (n+1) puntos distintos y ordenados de menor a mayor, escribiéndolo según convenga, al igual que se hizo en el subapartado 2.1., con alguna de las tres notaciones equivalentes siguientes:

1 1 1 2 1 2 1 2 3 1 2 k 1 1 2 k 1 1 2 k 1 k0 1 m m 1 m m m m 1 m m m m m ... m m m ... m 1 m m ... m mx ,x ,...,x ,x ,....,x ,x ,...,x ,......,x ,x ,...,x− − −+ + + + + + + + + + + + + + + + +

1 2 3 k 1 k0,1 1,1 m ,1 1,2 m ,2 1,3 m ,3 m ,k 1 1,k m ,kx ,x ,...,x ,x ,...,x ,x ,...,x ,.....,x ,x ,...,x

− −

o

k0,1 1,1 0,2 1,2 0,3 1,3 0,4 0,k 1 1,k m ,kx ,x ,...,x ,x ,...,x ,x ,...,x ,.....,x ,x ,...,x−

Con esta notación designaremos en todo este subapartado por ∆ a la

partición del intervalo [ ]0 nx ,x en los k subintervalos Ij = j0,j m ,jx ,x⎡ ⎤

⎢ ⎥⎣ ⎦ (j = 1, ..., k).

De esta manera al subintervalo Ij pertenecen (mj + 1) puntos del soporte. Además, para aligerar la notación, denotaremos simplemente por L(∆) al

espacio 1 2 km ,m ,..,mL ( )∆ , formado por todas las funciones continuas en el intervalo

[ ]0 nx ,x tales que en cada intervalo Ij (j = 1, ..., k) tienen una expresión

polinómica de grado menor o igual a mj. Puesto que, para cada valor entero del

índice “j” comprendido entre 1 y k, al intervalo Ij =

j0,j m ,jx , x⎡ ⎤⎢ ⎥⎣ ⎦ pertenecen los (mj + 1) puntos del

soporte j0,j 1,j m ,jx , x , ...., x pueden definirse los

polinomios de la base de Lagrange asociados a estos puntos. Tales polinomios los denotaremos por:

( )( )

jms,j( j)

is 0 i,j s,jm i

x xL (x)

x x=≠

−=

−∏ (i = 0, ..., mj)

xm ,j x0,j x1,j j

j-1 xm ,j-1

j+1 xm ,j+1

Ij

Page 82: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

80

Con esta notación el teorema siguiente explicita las expresiones de las funciones de base de Lagrange del espacio L(∆). Propiedad 14 Con la notación introducida anteriormente, la base de Lagrange de L(∆) asociada al soporte

1 1 2 1 2 k0 1 m m m m m ... mx , x , ..., x , ..., x , ......, x+ + + + está formada por

las (m1 + m2 + ... + mk + 1) funciones siguientes:

(1)0 1

0L (x) si x I(x)

0 en otro caso

⎧⎪ ∈⎪ϕ = ⎨⎪⎪⎩

s i,j js / x x con 0 i m∀ ≡ < < : ( j)i j

s

L (x) si x I(x)

0 en otro caso

⎧⎪ ∈⎪ϕ =⎨⎪⎪⎩ (j = 1, ..., k)

js m ,js / x x∀ ≡ : j

( j)m j

( j 1)s 0 j 1

L (x) si x I

(x) L (x) si x I

0 en otro caso

++

⎧ ⎫⎪ ⎪∈⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪ϕ = ∈⎨ ⎬⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎪ ⎪⎩ ⎭

(j = 1, ..., k-1)

k

(k)m k

n

L (x) si x I(x)

0 en otro caso

⎧⎪ ∈⎪ϕ =⎨⎪⎪⎩

Demostración: Al estar definidas las funciones n

j j 0(x)

=ϕ anteriores a partir de los

polinomios de base de Lagrange asociados al número de puntos de soporte existentes en cada subintervalo es evidente que toda función de base es sobre cualquier subintervalo Ij o bien la función nula o bien un polinomio de grado menor o igual que mj. En resumen el tramo de cada función de base en Ij es un polinomio de grado menor o igual que mj. Por otra parte si xs no es un nodo común a dos subintervalos, s(x)ϕ será una función que coincide con un

polinomio que se anula en los extremos del intervalo al que pertenezca el nodo xs y será nula fuera de dicho subintervalo. Por tanto en ese caso s(x)ϕ es

continua. Y si xs es un nodo común a los subintervalos Ij e Ij+1, entonces s(x)ϕ será una función que coincide con un polinomio que se anula en el

extremo izquierdo de Ij y en el extremo derecho de Ij+1, tomando valor unidad en el extremo común de ambos intervalos, y anulándose en los demás subintervalos. Por tanto también en ese caso s(x)ϕ es continua.

Page 83: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

81

Por tanto las funciones n

j j 0(x)

=ϕ son (n+1) funciones de L(∆). Además,

según se han definido, verifican que si xs = xi,j:

( j)s s i i,j(x ) L (x ) 1ϕ = = , s r(x ) 0 si s rϕ = ≠

Por tanto, en virtud del teorema 1 demostrado en el apartado 2.1., puede concluirse que n

j j 0(x)

=ϕ forman la base de Lagrange de L(∆).

c.q.d. Ejemplo: Si se considera el soporte 0, 1, 2, 3, 4, 5, 6, 7, 8 y la partición del intervalo [0, 8] dada por:

∆ = [0, 3] , [3, 4], [4, 8] denotaremos por L(∆) al espacio L3,1,4(∆) formado por las funciones continuas en ]0, 8[ y tales que en [0, 3] están definidas por algún polinomio de grado menor o igual que 3, en [3, 4] por algún polinomio de grado no superior a 1 y en [4, 8] por polinomios de grado menor o igual que 4. En el intervalo I1 = [0, 3], al que pertenecen los puntos del soporte 0, 1, 2, 3 consideramos los polinomios de base de Lagrange:

( )( )( )( )( )( )

(1) 3 20

x 1 · x 2 · x 3 1 11L (x) x x x 10 1 · 0 2 · 0 3 6 6− − − −

= = + − +− − −

( )( )( )( )( )( )

(1) 3 21

x 0 · x 2 · x 3 1 5L (x) x x 3x1 0 · 1 2 · 1 3 2 2− − −

= = − +− − −

( )( )( )( )( )( )

(1) 3 22

x 0 · x 1 · x 3 1 3L (x) x 2x x2 0 · 2 1 · 2 3 2 2− − −

= =− + −− − −

( )( )( )( )( )( )

(1) 3 23

x 0 · x 1 · x 2 1 1 1L (x) x x x3 0 · 3 1 · 3 2 6 2 3− − −

= = − +− − −

Page 84: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

82

En el intervalo I2 = [3, 4], al que pertenecen los puntos del soporte 3, 4 consideramos los polinomios de base de Lagrange:

( )( )

(2)0

x 4L (x) x 4

3 4−

= =− +−

( )( )

(2)1

x 3L (x) x 3

4 3−

= = −−

En el intervalo I3 = [4, 8], al que pertenecen los puntos del soporte 4, 5, 6, 7, 8 consideramos los polinomios de base de Lagrange:

( )( )( )( )( )( )( )( )

(3) 4 3 20

x 5 · x 6 · x 7 · x 8 1 13 251 533L (x) x x x x 704 5 · 4 6 · 4 7 · 4 8 24 12 24 12− − − −

= = − + − +− − − −

( )( )( )( )( )( )( )( )

(3) 4 3 21

x 4 · x 6 · x 7 · x 8 1 25 115 460L (x) x x x x 2245 4 · 5 6 · 5 7 · 5 8 6 6 3 3− − − −

= =− + − + −− − − −

( )( )( )( )( )( )( )( )

(3) 4 3 22

x 4 · x 5 · x 7 · x 8 1 211L (x) x 6x x 201x 2806 4 · 6 5 · 6 7 · 6 8 4 4− − − −

= = − + − +− − − −

( )( )( )( )( )( )( )( )

(3) 4 3 23

x 4 · x 5 · x 6 · x 8 1 23 97 356L (x) x x x x 1607 4 · 7 5 · 7 6 · 7 8 6 6 3 3− − − −

= =− + − + −− − − −

( )( )( )( )( )( )( )( )

(3) 4 3 24

x 4 · x 5 · x 6 · x 7 1 11 179 319L (x) x x x x 358 4 · 8 5 · 8 6 · 8 7 24 12 24 12− − − −

= = − + − +− − − −

Page 85: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

83

Con ayuda de estos polinomios de base podemos definir las funciones de la base de Lagrange de L(∆) como sigue:

[ ](1) 3 20

0

1 11L (x) x x x 1 si x 0,3(x) 6 6

0 en otro caso

⎧⎪⎪ =− + − + ∈⎪ϕ =⎨⎪⎪⎪⎩

[ ](1) 3 21

1

1 5L (x) x x 3x si x 0,3(x) 2 2

0 en otro caso

⎧⎪⎪ = − + ∈⎪ϕ =⎨⎪⎪⎪⎩

[ ](1) 3 22

2

1 3L (x) x 2x x si x 0,3(x) 2 2

0 en otro caso

⎧⎪⎪ =− + − ∈⎪ϕ =⎨⎪⎪⎪⎩

[ ]

[ ]

(1) 3 23

(2)3 0

1 1 1L (x) x x x si x 0,36 2 3

(x) L (x) x 4 si x 3,4

0 en otro caso

⎧⎪⎪ = − + ∈⎪⎪⎪⎪⎪⎪ϕ = =− + ∈⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

[ ]

[ ]

(2)1

(3) 4 3 24 0

L (x) x 3 si x 3,4

1 13 251 533(x) L (x) x x x x 70 si x 4,824 12 24 12

0 en otro caso

⎧⎪⎪ = − ∈⎪⎪⎪⎪⎪⎪ϕ = = − + − + ∈⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩

Page 86: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

84

[ ](3) 4 3 21

5

1 25 115 460L (x) x x x x 224 si x 4,8(x) 6 6 3 3

0 en otro caso

⎧⎪⎪ =− + − + − ∈⎪ϕ =⎨⎪⎪⎪⎩

[ ](3) 4 3 22

6

1 211L (x) x 6x x 201x 280 si x 4,8(x) 4 4

0 en otro caso

⎧⎪⎪ = − + − + ∈⎪ϕ =⎨⎪⎪⎪⎩

[ ](3) 4 3 23

7

1 23 97 356L (x) x x x x 160 si x 4,8(x) 6 6 3 3

0 en otro caso

⎧⎪⎪ =− + − + − ∈⎪ϕ =⎨⎪⎪⎪⎩

y:

[ ](3) 4 3 24

8

1 11 179 319L (x) x x x x 35 si x 4,8(x) 24 12 24 12

0 en otro caso

⎧⎪⎪ = − + − + ∈⎪ϕ =⎨⎪⎪⎪⎩

La figura siguiente recoge las gráficas de estas funciones de base.

Al igual que en el caso de interpolación con funciones polinómicas por tramos de grado no superior a 2, en el caso general la función interpoladora también puede expresarse de forma única como combinación de las funciones de base de Lagrange. Más concretamente:

Page 87: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

85

Teorema 7. Dado el soporte

1 1 2 1 2 k0 1 m m m m m ... mx , x , ..., x , ..., x , ......, x+ + + + y siendo k

jj 1

n m=

=∑ denotando por fj = f(xj) ( j = 0, .., n) a los valores que toma una

función f(x) en los puntos del soporte y por n

j j 0(x)

=ϕ a las funciones que

forman la base de Lagrange del espacio L(∆) que está asociada a este soporte, se verifica que la función:

n

j jj 0

u(x) f · (x)=

= ϕ∑

es la única función de L(∆) que satisface las igualdades:

u(xj) = f(xj) ( j = 0,..., n) A dicha función se la denomina función interpoladora de Lagrange de f(x) del espacio L(∆) sobre el soporte x0, ..., xn. Demostración: Es una consecuencia inmediata de aplicar el teorema 2 del apartado 2.1. al espacio L(∆).

c.q.d. Ejemplo: Dado el soporte 0, 1, 2, 3, 4, 5, 6, 7, 8 y la partición del intervalo [0, 8]:

∆ = [0, 3] , [3, 4], [4, 8]

se calcularon en el ejemplo anterior las 9 funciones de la base de Lagrange del espacio L(∆) correspondiente. La función u(x) de L(∆) que interpola en el sentido de Lagrange a f(x) = sen(xπ/2) está dada por:

9

jj 0

u(x) f( j)· (x)=

= ϕ∑

y como f(0) = f(2) = f(4) = f(6) = f(8) = 0 , f(1) = f(5) = 1 y f(3) = f(7) = -1 resulta que:

1 3 5 7u(x) (x) (x) (x) (x)= ϕ −ϕ +ϕ −ϕ

Determinemos, subintervalo a subintervalo, la función u(x).

Page 88: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

86

• En I1 = [0, 3]: 3 21

1 5(x) x x 3x2 2

ϕ = − + , 3 23

1 1 1(x) x x x6 2 3

ϕ = − + y

5 7(x) (x) 0ϕ = ϕ = por lo que:

[ ] 3 2 3 21 5 1 1 1x 0,3 : u(x) x x 3x x x x2 2 6 2 3

⎛ ⎞⎟⎜∀ ∈ = − + − − + =⎟⎜ ⎟⎜⎝ ⎠

= 3 21 8x 2x x3 3

− +

• En I2 = [3, 4]: 1(x) 0ϕ = , 3(x) x 4ϕ =− + y 5 7(x) (x) 0ϕ = ϕ = por lo que:

[ ] ( )x 3,4 : u(x) x 4 x 4∀ ∈ =− − + = −

• En I3 = [0, 3]: 1 3(x) (x) 0ϕ = ϕ = ,

4 3 25

1 25 115 460(x) x x x x 2246 6 3 3

ϕ =− + − + − , y

4 3 27

1 23 97 356(x) x x x x 1606 6 3 3

ϕ =− + − + − por lo que:

[ ] 4 3 21 25 115 460x 4,8 : u(x) x x x x 2246 6 3 3

∀ ∈ =− + − + − −

4 3 21 23 97 356x x x x 160

6 6 3 3⎛ ⎞⎟⎜− − + − + − =⎟⎜ ⎟⎜⎝ ⎠

= 3 21 104x 6x x 643 3

− + −

En resumen:

[ ]

[ ]

[ ]

3 2

3 2

1 8x 2x x si x 0,33 3

u(x) x 4 si x 3,4

1 104x 6x x 64 si x 4,83 3

⎧⎪⎪ − + ∈⎪⎪⎪⎪⎪⎪= − ∈⎨⎪⎪⎪⎪⎪ − + − ∈⎪⎪⎪⎩

La figura siguiente recoge el grafo de f(x) – en color negro - y el grafo de u(x) –en colores azul, rojo y verde según los respectivos tramos-.

Page 89: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

87

Propiedad 16.

Dado el al soporte 1 1 2 1 2 k0 1 m m m m m ... mx , x , ..., x , ..., x , ......, x+ + + + , con

n

jj 1

n m=

=∑ ,

sea ∆ la partición de [x0, xn] dada por :

1 1 j 1 1 j 1 j 1 k 1 1 k 1 k1 0 m j m .. m m .. m m k m .. m m .. m mI x ,x ,...,I x ,x ,...,I x ,x− − − −+ + + + + + + + + +

⎡ ⎤⎡ ⎤ ⎡ ⎤∆ = = = =⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦

y denotemos por f(x) a una función cualquiera y por u(x) a su función interpoladora del espacio L(∆) correspondiente. Considerando que estas funciones, en cada tramo, estén definidas por las expresiones:

1 1

j j

k k

f (x) si x I

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

f (x) si x If(x).... ...........

f (x) si x I

⎧ ∈⎪⎪⎪⎪⎪⎪⎪⎪ ∈=⎨⎪⎪⎪⎪⎪⎪⎪ ∈⎪⎩

,

1 1

j j

k k

u (x) si x I

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

u (x) si x Iu(x).... ..........

u (x) si x I

⎧ ∈⎪⎪⎪⎪⎪⎪⎪⎪ ∈=⎨⎪⎪⎪⎪⎪⎪⎪ ∈⎪⎩

si para algún valor del índice “j” tal que 1 < j < k la expresión fj(x) es un polinomio de grado menor o igual que mj entonces se verifica que uj(x) = fj(x). Demostración: Usando la notación m0 = 0, si fj(x) es un polinomio de grado menor o igual que mj coincidirá con el polinomio interpolador de Lagrange (22) de f(x) sobre el soporte:

0 j 1 0 j 1 0 j 1 jm .. m m .. m 1 m .. m mx ,x ,....,x− − −+ + + + + + + +

22 Puede consultarse el tema anterior la interpolación polinómica de Lagrange para tener una demostración de esta afirmación

Page 90: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

88

En otros términos, si fj(x) es un polinomio de grado menor o igual que mj resultará que fj(x) es el único polinomio de grado menor o igual que mj que verifica las (mj+1) igualdades: f(xs) = f(xs) ( s = m0+ ... + mj-1 , ......, m0+...+mj-1+mj). Y puesto que ui(x) debe ser un polinomio de grado menor o igual que mj verificando que u(xs) = f(xs) ( s = m0+...+mj-1 , ..., m0+...+mj-1+mj), puede concluirse que los polinomios ui(x) y fi(x) son el mismo.

c.q.d. La expresión de la función interpoladora dada en el teorema 7 es una expresión global (es decir, es válida para todo el intervalo [x0, xn]). No obstante, existen expresiones locales, que nos permiten definirla en cada subintervalo Ij de la partición, como son las que se recogen en la propiedad siguiente: Propiedad 17.

Dado el al soporte 1 1 2 1 2 k0 1 m m m m m ... mx , x , ..., x , ..., x , ......, x+ + + + , con

n

jj 1

n m=

=∑ ,

sea ∆ la partición de [x0, xn] dada por :

1 1 j 1 1 j 1 j 1 k 1 1 k 1 k1 0 m j m .. m m .. m m k m .. m m .. m mI x ,x ,...,I x ,x ,...,I x ,x− − − −+ + + + + + + + + +

⎡ ⎤⎡ ⎤ ⎡ ⎤∆ = = = =⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦

Sea además m0 = 0. En cada uno de los subintervalos de la partición el polinomio de grado menor o igual a mj que define a la función interpoladora de una función cualquiera f(x) puede calcularse por cualquiera de las expresiones siguientes:

a) ( )j

0 j 1

m( j)

j m ... m i ii 0

x I : u(x) f x ·L (x)−+ + +

=

∀ ∈ =∑ , donde ( j)iL (x) es el i-ésimo

polinomio de base de Lagrange asociado al soporte

0 j 1 0 j 1 0 j 1 jm .. m m .. m 1 m .. m mx ,x ,....,x− − −+ + + + + + + +

b)

( ) ( )j

0 j 1 0 j 1 0 j 1 0 j 1

m i 1

j m ... m m ... m m ... m i m ... m ss 0i 1

x I : u(x) f x f x ,...,x · x x− − − −

+ + + + + + + + + +==

⎛ ⎞⎡ ⎤ ⎟⎜∀ ∈ = + − ⎟⎜ ⎢ ⎥ ⎟⎜ ⎟⎣ ⎦⎝ ⎠∑ ∏

donde 0 j 1 0 j 1m ... m m ... m if x ,...,x

− −+ + + + +⎡ ⎤⎢ ⎥⎣ ⎦ es la diferencia dividida de la función f(x) en

los puntos 0 j 1 0 j 1 0 j 1m .. m m .. m 1 m .. m ix ,x ,....,x− − −+ + + + + + + +

Page 91: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

89

Demostración: Las dos expresiones son consecuencia inmediata de aplicar la fórmula de interpolación polinómica de Lagrange o de Newton, respectivamente, para calcular el polinomio interpolador de la función f(x) sobre el soporte de (mj+1) puntos 0 j 1 0 j 1 0 j 1 jm .. m m .. m 1 m .. m mx ,x ,....,x

− − −+ + + + + + + + . Se dejan los detalles al lector.

c.q.d. Ocupémonos ahora de analizar el error de la interpolación de Lagrange por tramos en el caso general. Teorema 8. Sea el soporte

1 1 2 1 2 k0 1 m m m m m ... mx , x , ..., x , ..., x , ......, x+ + + + y denotemos por ∆ a

la partición del intervalo 1 k0 m ... mx , x + +

⎡ ⎤⎢ ⎥⎣ ⎦ en los k subintervalos:

1 1 j 1 1 j 1 j 1 k 1 1 k 1 k1 0 m j m .. m m .. m m k m .. m m .. m mI x ,x ,...,I x ,x ,...,I x ,x− − − −+ + + + + + + + + +

⎡ ⎤⎡ ⎤ ⎡ ⎤∆ = = = =⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦

Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L(∆) correspondiente a esta partición, y suponiendo que para algún valor del índice j

( con 1 < j < k) se verifica que 3jf C (I )∈ y que f(x) es continua por la derecha

en el extremo izquierdo de Ij y que f(x) es continua por la izquierda en el extremo derecho de Ij, entonces:

0 1 j 1 1 j 0 1 j 1 1 jm m ... m m ... m j m m ... m m ... mx x ,x x ,x /− −+ + + + + + + + + +

⎤ ⎡ ⎤ ⎡∀ ∈ ∃ξ =∈⎥ ⎢ ⎥ ⎢⎦ ⎣ ⎦ ⎣

( ) ( )j j

0 j 1

(m 1 mj

m ... m ii 0j

fE(x) f(x) u(x) x x

(m 1)! −

+

+ + +=

ξ= − = −

+ ∏

donde m0 = 0. Demostración: Puesto que la expresión anterior es válida para todo punto interior al intervalo Ij, el error (f(x) – u(x)) coincide con el error entre f(x) y el polinomio p(j)(x) que define a la función interpoladora en el subintervalo Ij. Y como este polinomio es el polinomio que interpola a f(x) sobre el soporte de (mj+1) puntos

1 j 1 1 j 1 1 j 1 j0 m .. m m .. m 1 m .. m mx ,x ,....,x− − −+ + + + + + + + + basta con aplicar el teorema que nos

Page 92: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

90

proporciona la expresión del error de interpolación polinómica23 a este caso particular. c.q.d. Una primera consecuencia del teorema anterior es la ratificación de la propiedad 16ª. En efecto si en el subintervalo Ij la función f(x) tuviera una expresión polinómica de grado menor o igual a mj, será nula su derivada de orden (mj+1) en cualquier punto interior a Ij y en consecuencia el error en todo punto de Ij es nulo. En otros términos, en ese caso la función f(x) coincidirá con la función interpoladora en todo punto del intervalo Ij. Pero el teorema anterior también nos permite obtener cotas locales del error de interpolación como la que se indica en el corolario siguiente: Corolario 5 Sea el soporte

1 1 2 1 2 k0 1 m m m m m ... mx , x , ..., x , ..., x , ......, x+ + + + y denotemos por ∆

a la partición del intervalo 1 k0 m ... mx , x + +

⎡ ⎤⎢ ⎥⎣ ⎦ en los k subintervalos:

1 1 j 1 1 j 1 j 1 k 1 1 k 1 k1 0 m j m .. m m .. m m k m .. m m .. m mI x ,x ,...,I x ,x ,...,I x ,x− − − −+ + + + + + + + + +

⎡ ⎤⎡ ⎤ ⎡ ⎤∆ = = = =⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦

Siendo u(x) la función interpoladora de Lagrange de f(x) en el espacio L(∆) correspondiente a esta partición, y suponiendo que para algún valor del índice j

( con 1 < j < k) se verifica que 3jf C (I )∈ y que f(x) es continua por la derecha

en el extremo izquierdo de Ij y que f(x) es continua por la izquierda en el extremo derecho de Ij, entonces:

( )j

0 j 1

j

m

j j m ... m ii 0j x I

1x I : E(x) f(x) u(x) M ·Sup x x(m 1)! −+ + +

=∈

∀ ∈ = − ≤ −+ ∏

donde m0 = 0 y j

j

(m 1j

x I

M Sup f (x)+

=

Demostración: Es inmediata pues basta con tomar valor absoluto en la expresión del error y sustituir el valor de ( )j(m 1

jf + ξ por el supremo de ( )j(m 1f x+ en el intervalo

0 j 1 0 j 1 jj m ...´ m m ...´ m mI x , x

− −+ + + + +⎤ ⎡= ⎥ ⎢⎦ ⎣ y el valor de ( )

j

0 j 1

m

m ... m ii 0

x x−+ + +

=

−∏ por su supremo

en 0 j 1 0 j 1 j

j m ...´ m m ...´ m mI x , x− −+ + + + +

⎤ ⎡= ⎥ ⎢⎦ ⎣ .

c.q.d.

23 Véase el teorema 2 del apartado 2.2. del tema anterior dedicado a la interpolación polinómica.

Page 93: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

91

A partir de las cotas de error en cada subintervalo puede obtenerse una cota global del error como la mayor de las cota locales en cada subintervalo. Ejercicio propuesto: Siendo k un número entero positivo se considera un soporte formado por los (3k+1) puntos x0 , x1, x2, x3 , ...., x3(j-1), x3j-2 , x3j-1, x3j, ...., x3(k-1), x3k-2 , x3k-1, x3k en el que se supondrá que los puntos están ordenados de menor a mayor. Además se denota por ∆ a la partición de [x0, x3k] en los k subintervalos:

∆ = I1 = [x0, x3], ..., Ij = [x3(j-1), x3j] , …, Ik = [x3(k-1), x3k] y por L3(∆) al espacio de las funciones polinómicas de tercer grado a tramos asociado a dicha partición. Se pide:

a) Determínese la expresión de las funciones de base de Lagrange de L3(∆) y representa el grafo de ellas.

b) Determínese la expresión global de la función u(x) que interpola a una función cualquiera f(x) en L3(∆).

c) Determínese las expresiones polinómicas que definen localmente a la función interpoladora, a partir de la fórmula de interpolación polinómica de Lagrange.

d) Determínese las expresiones polinómicas que definen localmente a la función interpoladora, a partir de la fórmula de interpolación polinómica de Newton.

e) Determínese la expresión local del error, indicando las condiciones de regularidad que debe satisfacer la función f(x) para que dicha expresión sea válida.

f) Demuéstrese que si los puntos x3(j-1), x3j-2, x3j-1, x3j son equidistantes una cota local del error de interpolación en Ij = [x3(j-1), x3j] , bajo condiciones de regularidad suficientes, es:

43( j 1) 2 j j j

1x x ,x : E(x) f(x) u(x) M ·h1944−

⎤ ⎡∀ ∈ = − ≤⎥ ⎢⎦ ⎣ ,

donde 3( j 1) 3 j

(ivj

x x ,xM Sup f (x)

−⎤ ⎡∈⎥ ⎢⎦ ⎣

= y hj = |x3j – x3(j-1)|.

Page 94: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Interpolación polinómica por tramos. Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid

92

Dedúzcase a partir del resultado anterior una cota global del error de interpolación.

Page 95: UNIVERSIDAD POLITÉCNICA DE MADRID - ocw.upm.esocw.upm.es/matematica-aplicada/programacion-y-metodos-numericos/... · es la interpolación spline, en la que obligando a la coincidencia

Programación y Métodos Numéricos Interpolación polinómica por tramos

93

BIBLIOGRAFÍA SOBRE EL TEMA [1] Burden, R.L. y Fiares, J.D. (1998). Análisis Numérico. Ed. International Thomsom Editores [2] Crouzeix, M. et Mignot, A.L. (1983) Analyse numérique des équations differentielles. Ed. Masson. [3] Gasca, M. (1995) Cálculo Numérico I. Ed. Universidad Nacional de Educación a Distancia (UNED). [4] Michavila, F. y Conde, C. (1987) Métodos de Aproximación. Ed. Depto. de Matemática Aplicada y Métodos Informáticos – ETSI Minas – Universidad Politécnica de Madrid. [5] Sanz-Serna, J.M (1998 ) Diez lecciones de análisis numérico. Secretariado de Publicaciones de la Universidad de Valladolid [6] Shampine, L.F., Allen Jr., R.C. and Pruess, S. (1997) Fundamentals of numerical computing. Ed. John Wiley & Sons, Inc. [7] Stoer, J. and Bulirsch, R. (1993) Introduction to numerical analysis (2nd edition). Ed. Springer [8] Viaño, J.M. y Burguera, M. (2000) Lecciones de Métodos Numéricos, 3: Interpolación. Ed. Tórculo