Upload
vankhue
View
217
Download
0
Embed Size (px)
Citation preview
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
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
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∀ ∈ − .
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 .
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.
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:
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:
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:
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
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.
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
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.
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).
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
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− −⎡ ⎤∆= = = = =⎢ ⎥⎣ ⎦
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(Ω).
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
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
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
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
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.
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.
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:
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 ∆ .
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.
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.
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.
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
⎧⎪ ≤⎪⎪⎪ − < ≤⎨⎪⎪ + <⎪⎪⎩
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≤ ≤
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⎧ =⎪⎪ϕ = ⎨⎪ ≠⎪⎩
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
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:
•
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)= ϕ + ϕ − ϕ + ϕ = ϕ −ϕ +ϕ
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
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:
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
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
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
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.
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.
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−
− − − −− −
− −⎡ ⎤∀ ∈ = = ϕ + ϕ = +⎢ ⎥⎣ ⎦ − −
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.
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:
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:
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π
∀ ∈ ∃ξ =− ξ − −
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).
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
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)
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]∈⎧
= ⎨ − ∈⎩
∪
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 ¼ .
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.
•
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=
⎛ ⎞ϕ =⎜ ⎟
⎝ ⎠∑∫ .
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
− −−
− −
⎧⎪ − −⎪ ⎡ ⎤⎪ ∈ ⎢ ⎥⎪ ⎣ ⎦ϕ = − −⎨⎪⎪⎪⎪⎩
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.
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)
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
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,
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:
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
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
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:
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).
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∀ ∈
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(∆).
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.
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.
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.
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.
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
*α =⎧
− α − α − α = ⇒ ⎨α =⎩
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
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:
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).
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.
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
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
→ − → → −→ → −→
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:
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∆ = = = = = = =
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
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.
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)|.
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
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.
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− − −
= = − +− − −
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− − − −
= = − + − +− − − −
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
⎧⎪⎪ = − ∈⎪⎪⎪⎪⎪⎪ϕ = = − + − + ∈⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩
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:
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).
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-.
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
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− − −+ + + + + + + +
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
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.
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)|.
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.
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