Interpolacion

8,169 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,169
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
257
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Interpolacion

  1. 1. Universitaria: Priscila Wendy Espinoza Tito II / 2012
  2. 2. Introducción En ciertos casos el usuario conoce el valor de una función f(x) en una serie de puntos x1, x2, · · · , xn, pero no se conoce una expresión analítica de f(x) que permita calcular el valor de la función para un punto. La idea de la interpolación es poder estimar f(x) para un x arbitrario, a partir de la construcción de una curva o superficie que une los puntos donde se han realizado las mediciones y cuyo valor si se conoce. Se asume que el punto arbitrario x se encuentra dentro de los límites de los puntos de medición, en caso contrario se llamaría extrapolación.
  3. 3. En este capítulo estudiaremos el importantísimo tema de lainterpolación de datos. Veremos dos tipos de interpolación:la interpolación POLINOMIAL y la interpolaciónSEGMENTARIA (splines). .Comencemos dando la definición general. Definición. Dados puntos que corresponden a los datos: y los cuales se representan gráficamente como puntos en el plano cartesiano
  4. 4. Si existe una función definida en el intervalo (dondesuponemos que ), tal que para ,entonces a se le llama una función de interpolación de losdatos, cuando es usada para aproximar valores dentro delintervalo , y se le llama función de extrapolación de losdatos, cuando está definida y es usada para aproximar valoresfuera del intervalo.
  5. 5. Diferencias Divididas Finitas deNewton Se definen de la siguiente manera f ( xi ) f (x j ) f [ xi , x j ] xi xj f [ xi , x j ] f [ x j , xk ] f [ xi , x j , xk ] xi xk f [ xn ,, x1 ] f [ xn 1 ,, x0 ] f [ xn , xn 1 ,, x1 , x0 ] xn x0
  6. 6.  El polinomio 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
  7. 7.  Para calcular los coeficientes , es conveniente construir una tabla de diferencias divididas como la siguiente :
  8. 8.  Ejemplo. Calcular la tabla de diferencias divididas finitas con los siguientes datos :Procedemos como siguePor lo tanto el polinomio de Newton es:
  9. 9. Polinomio de Interpolación deLagrange Se plantea como sigue Donde los polinomios se llaman los polinomios de Lagrange, correspondientes a la tabla de datos. Como se debe satisfacer que , esto se cumple si y para toda . Y así sucesivamente, veremos finalmente que la condición se cumple si y para toda . Por lo tanto, planteamos como sigue:
  10. 10.  Con esto se cumple la segunda condición sobre . 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 queda definido como: Análogamente se puede deducir que: para j=1,…,n
  11. 11.  Ejemplo. Calcular el polinomio de Lagrange usando los siguientes datos: Solución f ( x) 2l0 ( x) l1 ( x) 2l2 ( x) 3l3 ( x) ( x 3)( x 5)( x 7) ( x 3)( x 5)( x 7) l0 ( x)donde ( 2)( 4)( 6) 48 ( x 1)( x 5)( x 7) ( x 1)( x 5)( x 7) l1 ( x) (2)( 2)( 4) 16 ( x 1)( x 3)( x 7) ( x 1)( x 3)( x 7) l2 ( x ) (4)( 2)( 2) 16 ( x 1)( x 3)( x 5) ( x 1)( x 3)( x 5) l3 ( x) (6)( 4)( 2) 48Sustituyendo arriba, el polinomio de Lagrange quedadefinido como sigue:
  12. 12. Interpolación de Splines 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.
  13. 13. Dada nuestra tabla de datos,donde suponemos que x0 x1  xn , y dado k un número enteropositivo, una función de interpolación spline de grado k, para la tabla dedatos, es una función s(x) tal que :i) s ( xi ) yi , para toda i 0,1,, n .ii) s x es un polinomio de grado k en cada subintervalo xi 1 , xi .iii ) s x tiene derivada contínua hasta de orden k 1 en x0 , xn .
  14. 14. FUNCIONES SPLINES DE GRADO 1 Dados los n+1 puntos Claramente esta función cumple con las condiciones de la spline de grado 1. Así, tenemos que para este caso: donde: i) sj x es un polinomio de grado menor o igual que 1 ii) s x tiene derivada continua de orden k-1=0. iii) s x j y j , para j 0,1,, n .
  15. 15. Por lo tanto, la spline de grado 1 queda definida como : y0 f x1 , x0 x x0 si x x0 , x1 y1 f x2 , x1 x x1 si x x1 , x2 sx  yn 1 f xn , xn 1 x xn 1 si x xn 1 , xn donde f [ xi , x j ] es la diferencia dividida de Newton. FUNCIONES SPLINES DE GRADO 2 Para aclarar bien la idea, veamos un ejemplo concreto, consideremos los siguientes datos :
  16. 16. 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 polinomialde grado 2, como sigue: a1 x 2 b1 x c1 si x 3,4.5 sx a2 x 2 b2 x c2 si x 4.5,7 a3 x 2 b3 x c3 si x 7,9 Primero, hacemos que la spline pase por los puntos de la tabla de datos. Es decir, sedebe cumplir que: s(3) 2.5, s(4.5) 1, s(7) 2.5, s(9) 0.5Así, se forman las siguientes ecuaciones: s(3) 2.5 9a1 3b1 c1 2.5 2 (4.5) a1 4.5b1 c1 1 s(4.5) 1 (4.5) 2 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
  17. 17. 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 elcaso de las splines de grado 2, necesitamos que la spline tenga derivadacontínua de orden k-1=1, es decir, primera derivada continua.Calculamos primero la primera derivada: 2a1 x b1 si x 3,4.5 s x 2a2 x b2 si x 4.5,7 2a3 x b3 si x 7,9 Vemos que esta derivada está formada por segmentos de rectas, quepudieran 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 b2o lo que es lo mismo, 9a1 b1 9a2 b2También debe cumplirse que: 2a2 7 b2 2a3 7 b3o lo que es lo mismo, 14 a2 b2 14 a3 b3
  18. 18. Así, tenemos un total de 8 ecuaciones vs. 9 incognitas; esto nos da ungrado de libertad para elegir alguna de las incógnitas. Elegimos porsimple conveniencia a1 0 . De esta forma, tenemos un total de 8 ecuaciones vs. 8 incógnitas. Estas son lassiguientes: 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 9 a2 b2 14a2 b2 14a3 b3Este sistema de ecuaciones tiene la siguiente forma matricial: 3 1 0 0 0 0 0 0 b1 2.5 4.5 1 0 0 0 0 0 0 c1 1 0 0 20.25 4.5 1 0 0 0 a2 1 0 0 49 7 1 0 0 0 b2 2.5 0 0 0 0 0 49 7 1 c2 2.5 0 0 0 0 0 81 9 1 a3 0.5 1 0 9 1 0 0 0 0 b3 0 0 0 14 1 0 14 1 0 c3 0
  19. 19. Usando Mathematica se obtiene la siguiente solución: b1 1 c1 5 .5 a2 0.64 b2 6.76 c2 18.46 a3 1 .6 b3 24.6 c3 91.3 Sustituyendo estos valores (junto con a1 0 ), obtenemos la funciónspline cuadrática que interpola la tabla de datos dada: x 5.5 si x 3,4.5 2 sx 0.64 x 6.76 x 18.46 si x 4.5,7 2 1.6 x 24.6 x 91.3 si x 7,9 5 4 3 2 1 3 4.5 7 9 -1
  20. 20. Métodos Interpolación en Matlab En matlab encontramos las siguientes funciones para interpolar datos: interp1 interpolación de datos unidimensionales. spline interpolación con el método de spline cúbica polyfit interpolación con polinomios
  21. 21. El comando “interp1” El comando interp1 se emplea para interpolar una serie de datos. El formato de este comando es: yi = interp1(x, y, xi, método) Donde: x : abscisa de los puntos a interpolar, expresada como vector fila. y : ordenada de los puntos a interpolar, expresada como vector fila. xi : abscisas para construir la función de interpolación, expresada como vector fila. Si es un solo valor, calculará el valor interpolando con la función declarada en métodos. método: determina el método de interpolación, entre:
  22. 22. Los metodos nearest interpolación asignado el valor del vecino más cercano. linear interpolación lineal (default) spline interpolación con spline cúbica pchip interpolación con polinomios de Hermite cubic (igual que pchip) v5cubic interpolación Cúbica usada in MATLAB 5
  23. 23.  Ejemplo de implementación
  24. 24. El comando “spline” Otra manera de realizar una interpolación de tipo spline, es invocando el comando spline, cuyo formato se muestra a continuación: yy = spline (x, y, xx) Donde: x : abscisa de los puntos a interpolar, expresada como vector fila. y : ordenada de los puntos a interpolar, expresada como vector fila. xx : abscisas para construir la función de interpolación, expresada como vector fila. Si es un solo valor calculará el valor interpolando.
  25. 25.  Ejemplo de implementación
  26. 26. El comando “polyfit” Calcula los coeficientes de un polinomio de grado “n” que ajustan, mediante mínimos cuadrados, a una serie de datos. El formato de este comando se resume, así: yy = polyfit (x, y, orden) x : abscisa de los puntos a interpolar, expresada como vector fila. y : ordenada de los puntos a interpolar, expresada como vector fila. orden: indica el orden del polinomio que se utilizará en el ajuste. Además, se usa el comando polyval para calcular el valor de un polinomio para un dado valor de x, según la forma: y = polyval ( p , x ) donde: p es el polinomio, ingresado como vector fila y x es el valor de la incógnita cuya imagen se desea calcular.
  27. 27.  Ejemplo de implementación
  28. 28. Gracias por su atención

×