INTERPOLACIÓN
En este capítulo estudiaremos el importantísimo tema de la interpolación de
datos. Veremos dos tipos de inte...
f ( x) = y0 (polinomio constante) es el
f ( x0 ) = y0 , por lo tanto, es el polinomio
polinomio de menor grado tal que
En ...
Como se debe cumplir que

f ( x0 ) = y0 , entonces:

y0 = b0
Si asignamos
siguiente:

x = x1 , el valor de b2 queda anulad...
Y finalmente despejando a

b2 vamos a obtener :

y2 − y1 y1 − y0
−
x2 − x1 x1 − x0
b2 =
x2 − x0
Por lo tanto, el polinomio...
A manera de ejemplo citemos el siguiente caso específico :

f [ x3 , x2 , x1 , x0 ] =

f [ x3 , x2 , x1 ] − f [ x2 , x1 , ...
Obsérvese que los coeficientes del polinomio de interpolación de
Newton, se encuentran en la parte superior de la tabla de...
Por lo tanto el polinomio de interpolación de Newton nos queda :

f ( x) = 5 + 3( x + 3) − 1.66667( x + 3)( x + 2) − 0.202...
El polinomio de interpolación de Lagrange se plantea como sigue:
P ( x ) = y0l0 ( x) + y1l1 ( x ) +  + ynln ( x )
Donde l...
l j ( x) =

∏( x − x )
i

i≠ j

∏( x
i≠ j

j

− xi )

,

para

j = 1,, n

Ejemplo 1
Calcular el polinomio de Lagrange usa...
f ( x) = l0 ( x) − l1 ( x) + 3l2 ( x) − 2l3 ( x)
donde:
l0 ( x ) =

( x − 0)( x − 2)( x − 4) x ( x − 2)( x − 4)
=
(−2)(−4)...
donde suponemos que x0 < x1 <  < xn , y dado k un número
entero positivo, una función de interpolación spline de grado k,...
 y0 + f [ x1 , x0 ] ( x − x0 )
 y + f [ x , x ]( x − x )

1
2 1
1
s( x ) = 

 yn −1 + f [ xn , xn −1 ] ( x − xn −1 )...
Hasta aquí, tenemos un total de 6 ecuaciones vs. 9 incógnitas.
El siguiente paso es manejar la existencia de las derivadas...
3
 4 .5

0

0
0

0
1

0


1
1

0
0

0
0

0 20.25 4.5
0
49
7
0
0
0
0
0
0
0
0

−9
14

0
0
1
1
0
0

−1 0
1 0

0...
El siguiente caso, que es el más importante en las aplicaciones, sigue
exactamente los mismos pasos del ejemplo que acabam...
s( 3) = 2 ⇒ 27 a1 + 9b1 + 3c1 + d1 = 2
s( 5) = −7 ⇒ 125a2 + 25b2 + 5c2 + d 2 = −7
Ahora calculamos la primera derivada de ...
Con lo cual, hemos completado un juego de 8 ecuaciones vs. 8 incógnitas, el cual
es el siguiente:

8a1 + 4b1 + 2c1 + d1 = ...
Obsérvese la finura con la que se unen los polinomios cúbicos que conforman a la
spline. Prácticamente ni se nota que se t...
64a3 + 16b3 + 4c3 + d 3 = −2
Enseguida, calculamos la primera derivada:
 3a1 x 2 + 2b1 x + c1

s′( x ) = 3a2 x 2 + 2b2 ...
3a1 + 2b1 + c1 = 3a2 + 2b2 + c2
12a2 + 4b2 + c2 = 12a3 + 4b3 + c3

3a1 + b1 = 3a2 + b2
6a2 + b2 = 6a3 + b3
− 3a1 + b1 = 0
...
Finalmente, mostramos la gráfica correspondiente (creada en
Mathematica):

8
6
4
2

-1

1

2

4

-2

EJERCICIOS

NOTA: CUA...
Soluciones:
 ( x + 2)( x − 3)( x + 5) 
 ( x − 1)( x − 3)( x + 5) 
 ( x − 1)( x + 2)( x + 5) 
i ) p( x) = 1.56 
 + ...
Upcoming SlideShare
Loading in …5
×

Interpolacion

365 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
365
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Interpolacion

  1. 1. INTERPOLACIÓN En este capítulo estudiaremos el importantísimo tema de la interpolación de datos. Veremos dos tipos de interpolación: la interpolación polinomial y la interpolación segmentaria (splines). Comencemos dando la definición general. Definición. Dados n + 1 puntos que corresponden a los datos: y los cuales se representan gráficamente como puntos en el plano cartesiano, f (x ) definida en el intervalo [ x0 , xn ] (donde suponemos x 0 < x1 <  < x n f ( xi ) = yi para i = 0,1,2,, n , entonces a f (x ) que ), tal que Si existe una función se le llama una función de interpolación de los datos, cuando es usada para [x ,x ] aproximar valores dentro del intervalo 0 n , y se le llama función de extrapolación de los datos, cuando está definida y es usada para aproximar valores fuera del intervalo. Evidentemente pueden existir varios tipos de funciones que interpolen los mismos datos; por ejemplo, funciones trigonométricas, funciones exponenciales, funciones polinomiales, combinaciones de éstas, etc. El tipo de interpolación que uno elige, depende generalmente de la naturaleza de los datos que se están manejando, así como de los valores intermedios que se están esperando. Un tipo muy importante es la interpolación por funciones polinomiales. Puesto que evidentemente pueden existir una infinidad de funciones polinomiales de interpolación para una misma tabla de datos, se hace una petición extra para que el polinomio de interpolación , sea único. Definición. Un polinomio de interpolación es una función polinomial que además de interpolar los datos, es el de menor grado posible. Caso n=0 Tenemos los datos:
  2. 2. f ( x) = y0 (polinomio constante) es el f ( x0 ) = y0 , por lo tanto, es el polinomio polinomio de menor grado tal que En este caso, tenemos que de interpolación. Caso n=1 Tenemos los datos: En este caso, el polinomio de interpolación es la función lineal que une a los dos puntos dados. Por lo tanto, tenemos que f ( x ) = y0 + y1 − y0 ( x − x0 ) x1 − x0 es el polinomio de interpolación. La siguiente gráfica representa este caso: Observación. Vemos que en el polinomio de interpolación del caso n=1 se encuentra como y 0 , que es el polinomio de interpolación del caso n=0. primer término, Continuemos: Caso n=2 Tenemos los datos: Para este caso, el polinomio de interpolación va a ser un polinomio de grado 2. Tomando en cuenta la observación anterior, intuímos que el polinomio de interpolación será como sigue: término cuadrático Por lo tanto, planteamos el polinomio de interpolación como sigue: f ( x) = b0 + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 ) Si asignamos resultado: f ( x0 ) = b0 x = x0 , se anulan los valores de b1 y b2 , quedándonos el
  3. 3. Como se debe cumplir que f ( x0 ) = y0 , entonces: y0 = b0 Si asignamos siguiente: x = x1 , el valor de b2 queda anulado, resultando lo f ( x1 ) = b0 + b1 ( x1 − x0 ) f ( x1 ) = y1 y ya sabemos que y0 = b0 , y = b0 + b1 ( x1 − x0 ) , de lo cual obtenemos el valor para b1 : entonces 1 Como se debe cumplir que y1 − y0 = b1 x1 − x0 Asignando x = x2 , vamos a obtener : f ( x2 ) = b0 + b1 ( x2 − x0 ) + b2 ( x2 − x0 )( x2 − x1 ) Como se debe cumplir que f ( x2 ) = y2 , y ya sabemos que y0 = b0 y y1 − y0 = b1 x1 − x0 b , sustituímos estos datos para después despejar el valor de 2 : y 2 = y0 + y1 − y0 ( x2 − x0 ) + b2 ( x2 − x0 )( x2 − x1 ) x1 − x0 De lo cual podemos hacer un despeje parcial para lograr la siguiente igualdad : y2 − y0 − y1 − y0 ( x2 − x0 ) x1 − x0 = b2 ( x2 − x0 ) x2 − x1 Ahora en el numerador del miembro izquierdo de la igualdad, le sumamos un cero ( − y1 + y1 ) , de tal manera que no se altere la igualdad: A continuación, aplicamos un poco de álgebra para así obtener los siguientes resultados:
  4. 4. Y finalmente despejando a b2 vamos a obtener : y2 − y1 y1 − y0 − x2 − x1 x1 − x0 b2 = x2 − x0 Por lo tanto, el polinomio de interpolación para este caso es: Observación. Vemos que efectivamente el polinomio de interpolación contiene al del caso anterior, más un término extra que es de un grado mayor, pero además vemos que cada uno de los coeficientes del polinomio de interpolación, se forman a base de cocientes de diferencias de cocientes de diferencias, etc. Esto da lugar a la definición de diferencias divididas finitas de Newton, como sigue: DIFERENCIAS DIVIDIDAS FINITAS DE NEWTON Las diferencias divididas finitas de Newton, se define de la siguiente manera: f [ xi , x j ] = f ( xi ) − f ( x j ) f [ xi , x j , xk ] = xi − x j f [ xi , x j ] − f [ x j , xk ] xi − xk • • • f [ xn ,, x1 ] − f [ xn −1 ,, x0 ] f [ xn , xn −1 ,, x1 , x0 ] = xn − x0
  5. 5. A manera de ejemplo citemos el siguiente caso específico : f [ x3 , x2 , x1 , x0 ] = f [ x3 , x2 , x1 ] − f [ x2 , x1 , x0 ] x3 − x0 donde a su vez: f [ x3 , x2 , x1 ] = f [ x3 , x2 ] − f [ x2 , x1 ] x3 − x1 y f [ x2 , x1 , x0 ] = f [ x2 , x1 ] − f [ x1 , x0 ] x2 − x01 Y donde a su vez: f [ x3 , x2 ] = f ( x3 ) − f ( x2 ) x3 − x2 etc. Podemos ahora definir nuestro primer tipo de polinomio de interpolación. POLINOMIO DE INTERPOLACIÓN DE NEWTON CON DIFERENCIAS DIVIDIDAS Dados n + 1 datos: - El polinomio de interpolación de Newton se define de la siguiente manera: f ( x ) = b0 + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 ) +  + bn ( x − x0 )( x − x1 ) ( x − xn −1 ) donde : b0 = f ( x0 ) b1 = f [ x1 , x0 ] b2 = f [ x2 , x1 , x0 ]  bn = f [ xn ,, x0 ] b , b ,, b n , es conveniente construir una Para calcular los coeficientes 0 1 tabla de diferencias divididas como la siguiente :
  6. 6. Obsérvese que los coeficientes del polinomio de interpolación de Newton, se encuentran en la parte superior de la tabla de diferencias divididas. Ejemplo 1. Calcular la tabla de diferencias divididas finitas con los siguientes datos : Y utilizar la información de dicha tabla, para construir el polinomio de interpolación de Newton. Solución. Procedemos como sigue: Por lo tanto el polinomio de interpolación de Newton es : f ( x ) = 4 + 2( x + 2) − 0.25( x + 2)( x + 1) − 0.3( x + 2)( x + 1)( x − 2) Ejemplo 2. Calcular la tabla de diferencias divididas finitas con los siguientes datos : Y usar la información en la tabla, para construir el polinomio de interpolación de Newton. Solución. Procedemos como sigue:
  7. 7. Por lo tanto el polinomio de interpolación de Newton nos queda : f ( x) = 5 + 3( x + 3) − 1.66667( x + 3)( x + 2) − 0.20238( x + 3)( x + 2)( x ) Antes de ver el siguiente tipo de polinomio de interpolación, veamos como el imponer la restricción del grado mínimo, implica la unicidad del polinomio de interpolación. TEOREMA . x0 , x1 ,, xn son números reales distintos, entonces para valores y , y ,, yn existe un polinomio único f n ( x ) , de a lo más grado arbitrarios 0 1 Si n, y tal que: f n ( xi ) = yi para toda i = 0,1,2,, n DEMOSTRACIÓN. En realidad, no probaremos formalmente la existencia de un polinomio de interpolación, aunque informalmente aceptamos que dada cualquier tabla de datos, el polinomio de Newton siempre existe. Probemos la unicidad del polinomio de interpolación. g n ( x ) es otro polinomio de interpolación de a lo más grado n, hn ( x ) = f n ( x ) − g n ( x ) Supongamos que Sea ∴ hn ( xi ) = f n ( xi ) − g n ( xi ) = yi − yi = 0 para todo i = 0,1,2, n hn ( x ) tiene n + 1 raíces distintas, y es un polinomio de grado a lo hn ( x ) = 0 . más n, esto solamente es posible si Por lo tanto, ∴ fn ( x) = gn ( x) Que es lo que queríamos probar. Sin embargo, aunque el polinomio de interpolación es único, pueden existir diversas formas de encontrarlo. Una, es mediante el polinomio de Newton, otra mediante el polinomio de Lagrange. POLINOMIO DE INTERPOLACIÓN DE LAGRANGE Nuevamente tenemos los datos :
  8. 8. El polinomio de interpolación de Lagrange se plantea como sigue: P ( x ) = y0l0 ( x) + y1l1 ( x ) +  + ynln ( x ) Donde los polinomios li (x) se llaman los polinomios de Lagrange, correspondientes a la tabla de datos. Como se debe satisfacer que P ( x0 ) = y0 , esto se cumple si l0 ( x0 ) = 1 y li ( x0 ) = 0 para toda i ≠ 0 . Como se debe satisfacer que P( x1 ) = y1 , esto se cumple si l1 ( x1 ) = 1 y li ( x1 ) = 0 para toda i ≠ 1 . ( ) Y así sucesivamente, veremos finalmente que la condición Pn xn = yn ( ) ( ) se cumple si ln xn = 1 y li xn = 0 para toda i ≠ n . Esto nos sugiere como plantear los polinomios de Lagrange. Para ser más claros, analicemos detenidamente el polinomio l0 ( x) . De acuerdo al análisis anterior vemos que deben cumplirse las siguientes condiciones para l0 ( x) : l0 ( x0 ) = 1 y l0 ( x j ) = 0 , para toda Por lo tanto, planteamos l0 ( x) como sigue: lo ( x ) = c( x − x1 )( x − x2 ) ( x − xn ) j≠0 Con esto se cumple la segunda condición sobre l0 ( x) . La constante c se determinará para hacer que se cumpla la primera condición: l0 ( x0 ) = 1 ⇒ 1 = c( x0 − x1 )( x0 − x2 ) ( x0 − xn ) 1 ⇒c= ( x0 − x1 )( x0 − x2 ) ( x0 − xn ) Por lo tanto el polinomio l0 ( x) queda definido como: l0 ( x ) = ( x − x1 )( x − x2 ) ( x − xn ) ( x0 − x1 )( x0 − x2 ) ( x0 − xn ) Análogamente se puede deducir que:
  9. 9. l j ( x) = ∏( x − x ) i i≠ j ∏( x i≠ j j − xi ) , para j = 1,, n Ejemplo 1 Calcular el polinomio de Lagrange usando los siguientes datos: Solución. Tenemos que: f ( x) = y0l0 ( x) + y1l1 ( x) + y2l ( x) + y3l3 ( x) f ( x) = −2l0 ( x) + l1 ( x) + 2l2 ( x) − 3l3 ( x) donde: l0 ( x) = ( x − 3)( x − 5)( x − 7) ( x − 3)( x − 5)( x − 7) = (−2)(−4)(−6) − 48 l1 ( x) = ( x − 1)( x − 5)( x − 7) ( x − 1)( x − 5)( x − 7) = (2)( −2)(−4) 16 l2 ( x ) = l3 ( x) = ( x − 1)( x − 3)( x − 7) ( x − 1)( x − 3)( x − 7) = (4)(2)( −2) − 16 ( x − 1)( x − 3)( x − 5) ( x − 1)( x − 3)( x − 5) = (6)(4)(2) 48 Sustituyendo arriba, el polinomio de Lagrange queda definido como sigue:  ( x − 3)( x − 5)( x − 7)   ( x − 1)( x − 5)( x − 7)   ( x − 1)( x − 3)( x − 7)   ( x − 1)( x − 3)( x − 5)  f ( x) =  + − −  24 16 8 16         Ejemplo 2. Calcular el polinomio de Lagrange usando los siguientes datos: Solución. Tenemos que: f ( x) = y0l0 ( x) + y1l1 ( x) + y2l ( x) + y3l3 ( x)
  10. 10. f ( x) = l0 ( x) − l1 ( x) + 3l2 ( x) − 2l3 ( x) donde: l0 ( x ) = ( x − 0)( x − 2)( x − 4) x ( x − 2)( x − 4) = (−2)(−4)(−6) − 48 l1 ( x) = ( x + 2)( x − 2)( x − 4) ( x + 2)( x − 2)( x − 4) = (2)(−2)( −4) 16 l2 ( x ) = ( x + 2)( x − 0)( x − 4) x( x + 2)( x − 4) = (4)(2)(−2) − 16 l3 ( x) = ( x + 2)( x − 0)( x − 2) x( x + 2)( x − 2) = (6)(4)(2) 48 Sustituyendo arriba, el polinomio de Lagrange queda como sigue:  x( x − 2)( x − 4)   ( x + 2)( x − 2)( x − 4)   x ( x + 2)( x − 4)   x ( x + 2)( x − 2)  f ( x) =  −  + 3 −  − 48 16 − 16 24         En el capítulo de integración numérica, usaremos nuevamente a los polinomios de Lagrange. INTERPOLACIÓN DE SPLINES Terminamos este capítulo, estudiando un tipo de interpolación que ha demostrado poseer una gran finura, y que inclusive es usado para el diseño por computadora, por ejemplo, de tipos de letra. Esta interpolación se llama interpolación segmentaria o interpolación por splines. La idea central es que en vez de usar un solo polinomio para interpolar los datos, podemos usar segmentos de polinomios y unirlos adecuadamente para formar nuestra interpolación. Cabe mencionar que entre todas, las splines cúbicas han resultado ser las más adecuadas para aplicaciones como la mencionada anteriormente. Así pues, podemos decir de manera informal, que una funcion spline está formada por varios polinomios, cada uno definido en un intervalo y que se unen entre si bajo ciertas condiciones de continuidad. Definición. (Splines de grado k) Dada nuestra tabla de datos,
  11. 11. donde suponemos que x0 < x1 <  < xn , y dado k un número entero positivo, una función de interpolación spline de grado k, para la tabla de datos, es una función s (x ) tal que : i) s ( xi ) = yi , para toda i = 0,1,, n . s( x ) es un polinomio de grado ≤ k en cada subintervalo ii) [ xi −1, xi ] . iii ) s ( x ) tiene derivada contínua hasta de orden k − 1 en [ x0 , xn ] . FUNCIONES SPLINES DE GRADO 1 Dados los n + 1 puntos Una función spline de grado 1 que interpole los datos es simplemente unir cada uno de los puntos mediante segmentos de recta, como sigue: Claramente esta función cumple con las condiciones de la spline de grado 1. Así, tenemos que para ested caso:  s1 ( x ) s ( x )  s( x) =  2    sn ( x )  si s x ∈ [ x0 , x1 ] x ∈ [ x1 , x2 ] si x ∈ [ xn −1 , xn ] donde: i) ii) s j ( x) s( x ) es un polinomio de grado menor o igual que 1 tiene derivada continua de orden k-1=0. s( x j ) = y j iii) , para j = 0,1,, n . Por lo tanto, la spline de grado 1 queda definida como :
  12. 12.  y0 + f [ x1 , x0 ] ( x − x0 )  y + f [ x , x ]( x − x )  1 2 1 1 s( x ) =    yn −1 + f [ xn , xn −1 ] ( x − xn −1 )  donde f [ xi , x j ] si si x ∈ [ x0 , x1 ] x ∈ [ x1 , x2 ]  si x ∈ [ xn −1 , xn ] es la diferencia dividida de Newton. FUNCIONES SPLINES DE GRADO 2 Para aclarar bien la idea, veamos un ejemplo concreto, consideremos los siguientes datos : Y procedamos a calcular la interpolación por splines de grado 2. Primero que nada, vemos que se forman tres intervalos : [ 3,4.5] [ 4.5,7] [ 7,9] En cada uno de estos intervalos, debemos definir una función polinomial de grado 2, como sigue:  a1 x 2 + b1 x + c1  s( x ) = a2 x 2 + b2 x + c2 a x2 + b x + c 3 3  3 si si si x ∈ [ 3,4.5] x ∈ [ 4.5,7] x ∈ [ 7,9] Primero, hacemos que la spline pase por los puntos de la tabla de datos. Es decir, se debe cumplir que: s (3) = 2.5, s (4.5) =1, s (7) = 2.5, s(9) = 0.5 Así, se forman las siguientes ecuaciones: s(3) = 2.5 ⇒ 9a1 + 3b1 + c1 = 2.5  (4.5) 2 a1 + 4.5b1 + c1 = 1 s (4.5) = 1 ⇒  2 (4.5) a2 + 4.5b2 + c2 = 1 49a2 + 7b2 + c2 = 2.5 s ( 7 ) = 2 .5 ⇒   49a3 + 7b3 + c3 = 2.5 s (9) = 0.5 ⇒ 81a3 + 9b3 + c3 = 0.5
  13. 13. Hasta aquí, tenemos un total de 6 ecuaciones vs. 9 incógnitas. El siguiente paso es manejar la existencia de las derivadas contínuas. En el caso de las splines de grado 2, necesitamos que la spline tenga derivada contínua de orden k-1=1, es decir, primera derivada continua. Calculamos primero la primera derivada:  2a1 x + b1  s′( x ) = 2a2 x + b2  2a x + b 3  3 si si si x ∈ [ 3,4.5] x ∈ [ 4.5,7] x ∈ [ 7,9] Vemos que esta derivada está formada por segmentos de rectas, que pudieran presentar discontinuidad en los cambios de intervalo. Es decir, las posibles discontinuidades son x = 4.5 y x = 7 . Por lo tanto para que s′( x ) sea contínua, se debe cumplir que: 2a1 ( 4.5) + b1 = 2a2 ( 4.5) + b2 o lo que es lo mismo, 9a1 + b1 = 9a2 + b2 También debe cumplirse que: 2a2 ( 7 ) + b2 = 2a3 ( 7 ) + b3 o lo que es lo mismo, 14a2 + b2 = 14a3 + b3 Así, tenemos un total de 8 ecuaciones vs. 9 incognitas; esto nos da un grado de libertad para elegir alguna de las incógnitas. Elegimos por simple conveniencia a1 = 0 . De esta forma, tenemos un total de 8 ecuaciones vs. 8 incógnitas. Estas son las siguientes: 3b1 + c1 = 2.5 4.5b1 + c1 = 1 20.25a2 + 4.5b2 + c2 = 1 49a2 + 7b2 + c2 = 2.5 49a3 + 7b3 + c3 = 2.5 81a3 + 9b3 + c3 = 0.5 b1 = 9a2 + b2 14a2 + b2 = 14a3 + b3 Este sistema de ecuaciones tiene la siguiente forma matricial:
  14. 14. 3  4 .5  0  0 0  0 1  0  1 1 0 0 0 0 0 20.25 4.5 0 49 7 0 0 0 0 0 0 0 0 −9 14 0 0 1 1 0 0 −1 0 1 0 0  b1  2.5 0  c1   1      0 0 0   a2   1      0 0 0  b2  2.5 = 49 7 1   c2   2 . 5      81 9 1  a3  0.5 0 0 0  b3   0      − 14 − 1 0  c3   0      0 0 0 0 Usando Mathematica se obtiene la siguiente solución: b1 c1 a2 b2 c2 a3 b3 c3 = −1 = 5.5 = 0.64 = − 6.76 = 18.46 = − 1.6 = 24.6 = − 91.3 Sustituyendo estos valores (junto con a1 = 0 ), obtenemos la función spline cuadrática que interpola la tabla de datos dada: − x + 5.5 si   2 s( x ) = 0.64 x − 6.76 x + 18.46 si  − 1.6 x 2 + 24.6 x − 91.3 si  x ∈ [ 3,4.5] x ∈ [ 4.5,7] x ∈ [ 7,9] La gráfica que se muestra a continuación, contiene tanto los puntos iniciales de la tabla de datos, así como la spline cuadrática. Esta gráfica se generó usando Mathematica. 5 4 3 2 1 3 -1 4.5 7 9
  15. 15. El siguiente caso, que es el más importante en las aplicaciones, sigue exactamente los mismos pasos del ejemplo que acabamos de resolver, solamente que en vez de trabajar con polinomios cuadráticos, lo hace con polinomios cúbicos. FUNCIONES SPLINES CUBICAS Para hacer más firme el entendimiento, escribimos la definición correspondiente a este caso (k=3). Dados los n + 1 datos: Una spline cúbica que interpola estos datos, es una función s (x ) definida como sigue :  s0 ( x )  s ( x)  s( x ) =  1  sn −1 ( x )  si si x ∈ [ x0 , x1 ] x ∈ [ x1 , x2 ]  si x ∈ [ xn −1 , xn ] ( ) ( ) donde cada si x es un polinomio cúbico; si xi = yi , para toda i = 0,1,, n y tal que s( x ) tiene primera y segunda derivadas contínuas en [ x0 , xn ] . Ejemplo 1. Interpolar los siguientes datos mediante una spline cúbica : Solución. Definimos un polinomio cúbico en cada uno de los intervalos que se forman:  a1 x 3 + b1 x 2 + c1 x + d1 s( x ) =  3 2 a2 x + b2 x + c2 x + d 2 si si x ∈ [ 2,3] x ∈ [ 3,5] A continuación, hacemos que se cumpla la condición de que la spline debe pasar por los puntos dados en la tabla. Así, tenemos que: s( 2 ) = −1 ⇒ 8a1 + 4b1 + 2c1 + d1 = −1
  16. 16. s( 3) = 2 ⇒ 27 a1 + 9b1 + 3c1 + d1 = 2 s( 5) = −7 ⇒ 125a2 + 25b2 + 5c2 + d 2 = −7 Ahora calculamos la primera derivada de s( x ) :  3a x 2 + 2b1 x + c1 ′( x ) =  1 2 s 3a 2 x + 2b2 x + c 2 si si x ∈ [ 2,3] x ∈ [ 3,5] Al igual que en el caso de las splines cuadráticas, se presentan ecuaciones que pueden presentar discontinuidad en los cambios de intervalo; las posibles discontinuidades son los puntos donde se cambia de intervalo, en este caso x = 3 . Para evitar esta discontinuidad, evaluamos x = 3 en los dos polinomios e igualamos: 3a1 ( 3) + 2b1 ( 3) + c1 = 3a 2 ( 3) + 2b2 ( 3) + c 2 2 2 o lo que es lo mismo: 27 a1 + 6b1 + c1 = 27 a 2 + 6b2 + c 2 Análogamenete procedemos con la segunda derivada :  6a x + 2b1 s ′′( x ) =  1 6a 2 x + 2b2 si si x ∈ [ 2,3] x ∈ [ 3,5] Para lograr que s ′′( x ) sea continua : 6a1 ( 3) + 2b1 = 6a 2 ( 3) + 2b2 ∴ 18a1 + 2b1 = 18a2 + 2b2 En este punto contamos con 6 ecuaciones y 8 incognitas, por lo tanto tenemos 2 grados de libertad; en general, se agregan las siguientes 2 condiciones: s ′′( x 0 ) = 0 s ′′( x n ) = 0 De lo cual vamos a obtener : s′′( 2 ) = 0 ⇒ 6a1 ( 2 ) + 2b1 = 0 s′′( 5) = 0 ⇒ 6a2 ( 5) + 2b2 = 0 ∴ 12a1 + 2b1 = 0 ∴ 30a2 + 2b2 = 0
  17. 17. Con lo cual, hemos completado un juego de 8 ecuaciones vs. 8 incógnitas, el cual es el siguiente: 8a1 + 4b1 + 2c1 + d1 = −1 27 a1 + 9b1 + 3c1 + d1 = 2 27 a 2 + 9b2 + 3c 2 + d 2 = 2 125a 2 + 25b2 + 5c 2 + d 2 = −7 27 a1 + 6b1 + c1 = 27 a 2 + 6b2 + c 2 18a1 + 2b1 = 18a 2 + 2b2 12a1 + 2b1 = 0 30a 2 + 2b2 = 0 Cuya forma matricial es la siguiente : 8 27  0  0 27  18 12  0  4 2 1 0 0 9 3 1 0 0 0 0 0 27 9 0 0 0 125 25 6 1 0 − 27 −6 2 0 0 −18 −2 2 0 0 0 0 0 0 0 30 2 0a1   −1  0 0 b1   2      3 1 c1   2      5 1d1  − 7  = −1 0a2   0      0 0b2   0  0 0   c2   0      0 0d 2   0      0 Usando Mathematica, obtenemos la siguiente solución: a1 b1 c1 d1 a2 b2 c2 d2 = − 1.25 = 7.5 = − 10.75 = 0.5 = 0.625 = − 9.375 = 39.875 = − 50.125 Sustituyendo estos valores en nuestra función inicial, vemos que la spline cúbica para la tabla de datos dada, queda definida como sigue:  − 1.25 x 3 + 7.5 x 2 − 10.75 x + 0.5 si s( x ) =  3 2 0.625 x − 9.375 x + 39.875 x − 50.125 si x ∈ [ 2,3] x ∈ [ 3,5] Mostramos la gráfica correspondiente a este ejercicio, creada tambien en Mathematica.
  18. 18. Obsérvese la finura con la que se unen los polinomios cúbicos que conforman a la spline. Prácticamente ni se nota que se trata de dos polinomios diferentes!. Esto es debido a las condiciones que se impusieron sobre las derivadas de la función. Esta finura casi artística, es la que permite aplicar las splines cúbicas, para cuestiones como el diseño de letras por computadoras, o bien a problemas de aplicación donde la interpolación que se necesita es de un caracter bastante delicado, como podría tratarse de datos médicos sobre algún tipo de enfermedad. Ejemplo 2. Interpolar los siguientes datos utilizando splines cúbicas: Solución. Nuevamente, definimos un polinomio cúbico en cada uno de los intervalos:  a1 x 3 + b1 x 2 + c1 x + d1  s ( x) = a2 x 3 + b2 x 2 + c2 x + d 2  a x3 + b x 2 + c + d 3 3 3  3 si si si x ∈ [ − 1,1] x ∈ [1,2] x ∈ [ 2,4] Despues, hacemos que la spline pase por los puntos dados en la tabla. Así, tenemos que: s (−1) = −1 implica que, − a1 + b1 − c1 + d1 = −1 s (1) = 1 implica que, a1 + b1 + c1 + d1 = 1 a2 + b2 + c2 + d 2 = 1 s (2) = 5 implica que, 8a2 + 4b2 + 2c2 + d 2 = 5 8a3 + 4b3 + 2c3 + d 3 = 5 Y finalmente s (4) = −2 implica que,
  19. 19. 64a3 + 16b3 + 4c3 + d 3 = −2 Enseguida, calculamos la primera derivada:  3a1 x 2 + 2b1 x + c1  s′( x ) = 3a2 x 2 + 2b2 x + c2 3a x 2 + 2b x + c 3 3  3 si1 si si x ∈ [ − 1,1] x ∈ [1,2] x ∈ [ 2,4] Vemos entonces, que las posibles discontinuidades de s′(x) son x = 1 y x = 2 . Por lo tanto, para hacer que s′(x) sea contínua, igualamos las ecuaciones correspondientes en ambos valores : 3a1 + 2b1 + c1 = 3a2 + 2b2 + c2 12a2 + 4b2 + c2 = 12a3 + 4b3 + c3 Ahora procedemos a calcular la segunda derivada:  6a1 x + 2b1  s′′( x) = 6a2 x + 2b2 6a x + 2b 3  3 si si si x ∈ [ − 1,1] x ∈ [1,2] x ∈ [ 2,4] Nuevamente, las posibles discontinuidades son x = 1 y x = 2 . Por lo tanto, para que s′′(x) sea contínua , se igualan las ecuaciones en ambos valores : 6a1 + 2b1 = 6a2 + 2b2 → 3a1 + b1 = 3a2 + b2 12a2 + 2b2 = 12a3 + 2b3 → 6a2 + b2 = 6a3 + b3 Finalmente, se agregan las condiciones de que la doble derivada se anule en los puntos inicial y final de la tabla. En este caso, s′′( −1) = 0 → −6a1 + 2b1 = 0 → −3a1 + b1 = 0 s′′(4) = 0 → 24a3 + 2b3 = 0 → 12a3 + b3 = 0 Con esto tenemos un juego de doce ecuaciones vs. doce incógnitas: − a1 + b1 − c1 + d1 = −1 a1 + b1 + c1 + d1 = 1 a2 + b2 + c2 + d 2 = 1 8a2 + 4b2 + 2c2 + d 2 = 5 8a3 + 4b3 + 2c3 + d 3 = 5 64a3 + 16b3 + 4c3 + d 3 = −2
  20. 20. 3a1 + 2b1 + c1 = 3a2 + 2b2 + c2 12a2 + 4b2 + c2 = 12a3 + 4b3 + c3 3a1 + b1 = 3a2 + b2 6a2 + b2 = 6a3 + b3 − 3a1 + b1 = 0 12a3 + b3 = 0 Este sistema tiene la siguiente forma matricial: −1 1  0  0 0  0 3  0 3  0  − 3 0  1 −1 1 1 0 0 0 0 1 1 0 0 0 0 2 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 − 3 − 2 −1 0 12 4 1 0 − 3 −1 0 0 6 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 8 0 0 0 0 1 4 0 0 0 0 1 2 0 0 0 0 1 1 0  a1   − 1  0  b1   1      0  c1   1      0  d1   5  8 4 2 1   a2   5      64 16 4 1  b2  − 2 = 0 0 0 0  c2   0      − 12 − 4 − 1 0 d 2   0  0 0 0 0  a3   0      − 6 − 1 0 0  b3   0      0 0 0 0  c3   0  12 1 0 0  d 3   0      0 0 0 0 0 0 0 0 0 0 0 0 Usando Mathematica, obtenemos la solución : a1 = 51 140 , a2 = − 21 10 , a3 = 24 35 b1 = 153 140 , b2 = c1 = 89 140 , c2 = − 473 70 , d2 = 48 35 , d1 = − 153 40 , 297 35 , Por lo tanto, la spline cúbica es: 51 153 89  140 x 3 + 140 x 2 + 140 x − 153 si x ∈ [ − 1,1] 40  21 3 297 2 473 48 s ( x) =  − 10 x + 35 x − 70 x + 35 si x ∈ [1,2]  24 x 3 − 288 x 2 + 1867 x − 732 si x ∈ [ 2,4] 35 70 35  35 b3 = − c3 = 288 35 1867 70 d3 = − 732 35
  21. 21. Finalmente, mostramos la gráfica correspondiente (creada en Mathematica): 8 6 4 2 -1 1 2 4 -2 EJERCICIOS NOTA: CUANDO SEA NECESARIO, REDONDEA A CINCO DECIMALES. 1. Calcula el polinomio de interpolación de Newton para los siguientes datos: x −2 2 1 4 y 0.5 − 3 2.4 7.8 i) x 0 .3 0 .6 0 .9 1 .2 y −3 ii) 1 .5 − 12 0 −6 9 Soluciones: i ) f ( x ) = 0.5 + 0.875( x − 2) − 0.925( x − 2)( x + 2) + 0.4625( x − 2)( x + 2)( x − 1) ii ) f ( x) = −3 + 10( x − 0.3) − 50( x − 0.3)( x − 0.6) + 185.18519( x − 0.3)( x − 0.6)( x − 0.9) − 447.53088( x − 0.3)( x − 0.6)( x − 0.9)( x − 1.2) 2. Calcula el polinomio de Lagrange para los siguientes datos: x i) 1 −5 3 y 1.56 3.54 − 2.57 − 8.9 x ii) −2 y − 1.5 − 0.5 1 − 2 − 4 9 −2 5 33 0
  22. 22. Soluciones:  ( x + 2)( x − 3)( x + 5)   ( x − 1)( x − 3)( x + 5)   ( x − 1)( x + 2)( x + 5)  i ) p( x) = 1.56   + 3.54   − 2.57   − 36 45 80        ( x − 1)( x + 2)( x − 3)  − 8 .9   − 144    ( x + 0.5)( x − 1)( x + 2)( x + 4)   ( x + 1.5)( x − 1)( x + 2)( x + 4)  ii ) p ( x) = 9 − 2   3.125 − 7.875      ( x + 1.5)( x + 0.5)( x + 2)( x + 4)   ( x + 1.5)( x + 0.5)( x − 1)( x + 4)  + 5  + 33  56.25 − 4 .5     3. Calcula las splines cúbicas para los siguientes datos: x y ii) 40 x i) −2 −5 −2 y 20 1 3 − 5 − 20 4 3 7 − 6 40 Soluciones: i) ii)  0.25 x 3 + 1.5 x 2 − 14.25 x + 7.5 si s ( x) =  3 2 − 0.375 x + 3.375 x − 16.125 x + 8.125 si x ∈ [ − 2,1] x ∈ [1,3] 5 75  − 526 x 3 − 526 x 2 − 4703 x − 5860 si x ∈ [ − 5,− 2] 789 789  1241 3 2257 2 15619 8012 s ( x) =  7890 x + 2630 x − 3945 x − 1315 si x ∈ [ − 2,3]  − 299 x 3 + 2093 x 2 − 10511 x + 860 si x ∈ [ 3,7] 526 789 263  1578 http://es.wikipedia.org/wiki/Spline http://dmaii.etsii.upm.es/~azarzo/downloads/Splines.pdf https://www.google.co.ve/url? sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&ved=0CDQQFjAB&url=http %3A%2F%2Fudomatematica.files.wordpress.com %2F2010%2F02%2Finterpolacion.doc&ei=_hpsUuSjJsvKkAfa1oGgAQ&usg=AFQjC NGUR_GkdM7LzPrfNS2fC6IWvI37pw&sig2=ITj9zRWFcs0CFcjLbQhfvw&bvm=bv. 55123115,d.eW0

×