informe interpolación spline

14
Interpolación Spline Michelle Oviedo, Andrea Robalino, Jessica Tapia Departamento de Ciencias Exactas, Universidad de las Fuerzas Armadas - ESPE Sangolquí, Ecuador [email protected] [email protected] [email protected] Abstract- This document explains what Spline Interpolation method studies in numerical methods, describing the function and calculating the interpolation with comments and details to consider before and during application when performing calculation. Resumen.-Este documento explica en qué consiste la Interpolación Spline, método que se estudia en métodos numéricos, describiendo la función y cálculo de la interpolación con observaciones y detalles que se deben considerar antes y durante su aplicación al momento de realizar cálculos Palabras claves: puntos de control, control local. I. INTRODUCCIÓN Los Splines permiten representaciones matemáticas de superficies partiendo de información relativa a algunos de sus puntos. Su construcción consiste en obtener una función de interpolación que pase por esos puntos. Para poder hacer esto es necesario contar con algunas habilidades matemáticas, por ejemplo: derivación, buen manejo del álgebra y finalmente solución de sistemas de ecuaciones lineales grandes; que en ocasiones adolecen los estudiantes.[1] II. MARCO TEÓRICO La interpolación consiste en obtener una función que corresponda a una serie de datos conocidos. Una de las clases de funciones más útiles y mejor conocidas es la de los polinomios algebraicos, es decir el conjunto de funciones de la forma: (1) P ( x) =a n x n +a n1 x n1 + +a 1 x 1 +a 0 x 0 Donde n es un entero no negativo y a n ,a n1 ,a 1 ,ya 0 son constantes reales. Una de las razones importantes por la cual se debe considerar esta clase de polinomios en la interpolación de funciones, es que la derivada y la integral de un polinomio son fáciles de determinar y también son polinomios. Por esta y otras razones más, con frecuencia se usan los polinomios para aproximar a las funciones continuas.[3]

Upload: michu-twilighter-oviedo

Post on 18-Dec-2015

77 views

Category:

Documents


37 download

DESCRIPTION

Teoría y ejercicios de aplicación de Splines cúbicos

TRANSCRIPT

Interpolacin Spline Michelle Oviedo, Andrea Robalino, Jessica Tapia

Departamento de Ciencias Exactas, Universidad de las Fuerzas Armadas - ESPESangolqu, Ecuador

[email protected]@[email protected]

Abstract- This document explains what Spline Interpolation method studies in numerical methods, describing the function and calculating the interpolation with comments and details to consider before and during application when performing calculation.

Resumen.-Este documento explica en qu consiste la Interpolacin Spline, mtodo que se estudia en mtodos numricos, describiendo la funcin y clculo de la interpolacin con observaciones y detalles que se deben considerar antes y durante su aplicacin al momento de realizar clculos

Palabras claves: puntos de control, control local.

I. INTRODUCCIN

Los Splines permiten representaciones matemticas de superficies partiendo de informacin relativa a algunos de sus puntos. Su construccin consiste en obtener una funcin de interpolacin que pase por esos puntos. Para poder hacer esto es necesario contar con algunas habilidades matemticas, por ejemplo: derivacin, buen manejo del lgebra y finalmente solucin de sistemas de ecuaciones lineales grandes; que en ocasiones adolecen los estudiantes.[1]

II. MARCO TERICO La interpolacin consiste en obtener una funcin que corresponda a una serie de datos conocidos. Una de las clases de funciones ms tiles y mejor conocidas es la de los polinomios algebraicos, es decir el conjunto de funciones de la forma:

(1)

Donde n es un entero no negativo y son constantes reales. Una de las razones importantes por la cual se debe considerar esta clase de polinomios en la interpolacin de funciones, es que la derivada y la integral de un polinomio son fciles de determinar y tambin son polinomios. Por esta y otras razones ms, con frecuencia se usan los polinomios para aproximar a las funciones continuas.[3] La idea central es que en vez de usar un solo polinomio para interpolar todos los datos (Pares coordenados), se pueden usar segmentos de polinomios entre pares coordenados de datos y unir cada uno de ellos adecuadamente para ajustar los datos. Vale la pena resaltar que entre todas las formas de ajustar datos, lossplines cbicos han resultado ser los ms adecuados para cualquier tipo de aplicacin. As pues, se puede decir de manera informal, que una funcin spline est formada por varios polinomios, cada uno definido en un intervalo y que se unen entre si bajo ciertas condiciones de continuidad.[2]A. Definicin El trmino "spline" hace referencia a una amplia clase de funciones que son utilizadas en aplicaciones que requieren la interpolacin de datos, o un suavizado de curvas. Los splines son utilizados para trabajar tanto en una como en varias dimensiones. Las funciones para la interpolacin por splines normalmente se determinan como minimizadores de la aspereza sometidas a una serie de restricciones. Una funcin spline est formada por varios polinomios, cada uno definido sobre un subintervalo, que se unen entre s obedeciendo a ciertas condiciones de continuidad.1) Trazadores lineales: La unin entre dos puntos es una lnea recta. Los trazadores de primer grado para un grupo de puntos asociados con datos ordenados pueden definirse como un conjunto de funciones lineales

Donde es la pendiente de la lnea recta que une los puntos:

Estas ecuaciones se pueden usar para evaluar la funcin en cualquier punto entre localizando primero el intervalo dentro del cual est el punto. Despus se usa la ecuacin adecuada para determinar el valor de la funcin dentro del intervalo. Este mtodo es idntico al de la interpolacin lineal. 2) Trazadores (Splines) cuadrticos: Para asegurar que las derivadas m-simas sean continuas en los nodos, se debe emplear un trazador de un grado de, al menos, m+1. 2) Trazadores (Splines) cbicas :La funcin s(x) se llama cbica a trozos en si existen polinomios cbicos tales que :

Fig1. Interpolacin Polinmica a trozos

Mediante el mtodo de interpolacin Spline, se usan polinomios de grado 3 para unir dos puntos de la funcin entre s, es decir en vez de utilizar un polinomio de alto grado se usan varios de grado 3, esto implica que para N puntos tenemos N-1 polinomios diferentes de grado 3.

Fig.2. Grfica de una curva Spline

Especificamos una curva Spline al proporcionar un conjunto de puntos (que ser una serie de coordenadas) a los que denominaremos puntos de control.

Estos puntos de control se ajustarn despus con funciones polinmicas continuas que se pueden entender con una de las siguientes maneras:1)Interpolacin La curva realiza la interpolacin del conjunto de puntos de control cuando las secciones polinmicas se ajustan de modo que la curva pasa a travs de cada punto de control.[4]

Fig.3 Grfica con la interpolacin2) Aproximacin La curva realiza una aproximacin al conjunto de puntos de control cuando los polinomios se ajustan a la trayectoria general del punto de control sin pasar necesariamente a travs de ningn punto de control.[4]

Fig.4 Grfica con la aproximacin

B. Desarrollo para obtener el polinomioDados puntos con puntos de la grfica de una funcin (en principio desconocida), un spline cbico para dichos datos ser una funcin , , donde , y tal que verifique las siguientes condiciones:(a) Sea polinomio de grado , donde siempre que: .

(b) Si , entonces con .

(c) es de clase 2 en (a; b). En particular, esto implica que la primera derivada de verifique: .

Mientras que para la segunda derivada tendremos: .

(d) Finalmente, para los puntos inicial y final, impondremos la condicin extra: Nota: Si se impone esta ltimacondicin, se dice que el Spline es un Spline Natural.La segunda derivada de la funcin de interpolacin es continua. [1]

Las condiciones anteriores se traducen en un sistema de ecuaciones lineales compatible determinado, por tanto la solucin es nica. [3]Entonces, podemos calcular el polinomio de interpolacin:(1) Donde tenemos 4n incgnitas, con las condiciones de interpolacin:(2) , ecuacionesCondiciones de conexin:

ecuaciones

Para el polinomio Spline tenemos:

; ; , , De donde obtendremos: ecuaciones y incgnitasMatriz del sistema

Trminos Independientes

Teorema: Si es una funcin definida en , entonces existe un nico spline cbico interpolante para en , tal que:

y

C. Errores de la Interpolacin Spline En trminos generales, con las condiciones de frontera sujeta se logran aproximaciones ms exactas, ya que abarca mayor informacin acerca de la funcin. Pero para que se cumpla este tipo de condicin, se requiere tener los valores de la derivada en los extremos o bien una aproximacin precisa de ellos. Si se desea construir el conjunto de polinomios de la interpolacin de trazador cbico de una determinada funcin f, se van aplicando cada una de las condiciones de la definicin a un polinomio cbico general.[2]

a) Seanun intervalo cerrado real y una particin del mismo.

b) Sea .

c) Sean y el spline cbico natural o sujeto que interpola aen los nodos de la particin considerada.

Entonces el error de interpolacin:

Donde se verifica, que para cada intervalo, que y, por el teorema de Rolle, existe al menos un valor,tal que . En consecuencia,

La derivada del error est acotada por una expresin proporcional a . Como:

Luego, la cota del error de interpolacin spline cbica natural o sujeta es:

IV. EJERCICIOS DE INTERPOLACIN

1. Con los siguientes datos:TABLA IDATOS DEL EJERCICIO 1

x34.579

y2.512.50.5

a) Calcular la interpolacin por splines de grado 2:

Primero, vemos que se forman tres intervalos:

En cada uno de estos intervalos, debemos definir una funcin polinomial de grado 2, como sigue:

Hacemos que la spline pase por los puntos de la tabla de datos, es decir, se debe cumplir que:

; ; ;

As, se forman las siguientes ecuaciones:

Hasta aqu, tenemos un total de 6 ecuaciones con 9 incgnitas.El siguiente paso es manejar la existencia de las derivadas continuas. En el caso de las splines de grado 2, necesitamos que la spline tenga derivada continua de orden k-1=1, es decir, primera derivada continua.

Calculamos primero la primera derivada:

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 =5.4 y x=7. Por lo tanto para que s(x) sea continua, se debe cumplir que:

Tambin debe cumplirse que:

As, tenemos un total de 8 ecuaciones vs. 9 incgnitas; esto nos da un grado de libertad para elegir alguna de las incgnitas. Elegimos por simple conveniencia .De esta forma, tenemos un total de 8 ecuaciones con 8 incgnitas. Estas son las siguientes:

1) 2) 3) 4) 5) 6) 7) 8)

Este sistema de ecuaciones tiene la siguiente forma matricial:

Se obtiene la siguiente solucin y sustituyendo estos valores junto con obtenemos la funcin simple cuadrtica que interpola la tabla de datos del problema:

La grfica que se muestra, contiene tanto los puntos iniciales de la tabla de datos, as como la spline.

Fig.5 Grfica del Spline cuadrtico del Ejercicio 1

b) Calcular la interpolacin por splines de grado 3:

Primero, vemos que se forman tres intervalos:

En cada uno de estos intervalos, debemos definir una funcin polinomial de grado 2, como sigue: Hacemos que la spline pase por los puntos de la tabla de datos, es decir, se debe cumplir que:

; ; ;

As, se forman las siguientes ecuaciones:

Hasta aqu, tenemos un total de 6 ecuaciones con 12 incgnitas. El siguiente paso es manejar la existencia de las derivadas continuas. En el caso de las splines de grado 3, necesitamos que la spline tenga derivada continua de orden , es decir, primera derivada continua y segunda derivada en los extremos igual a 0.

Calculamos la primera derivada:

Como las primeras derivadas deen los nodos internos deben ser iguales, se tienen las siguientes ecuaciones:

Vemos la segunda derivada est formada por segmentos de rectas, que pudieran presentar discontinuidad en los cambios de intervalo. Es decir, las posibles discontinuidades son y . Por lo tanto para que sea continua, se debe cumplir que:

Asumiendo que las segundas derivadas en los nodos extremos deben ser 0, se obtienen 2 ecuaciones ms:

As, tenemos un total de 12 ecuaciones vs. 12 incgnitas:

1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12)

Se obtiene la siguiente solucin y obtenemos la funcin simple cuadrtica que interpola la tabla de datos del problema:

2) Interpolar por splines cbicos la funcin en x tomando los puntos:

El sistema que resulta es:

Poniendo tenemos:

de donde se obtienen:

Para x = 1.5 habr que elegir :

y su valor es una mejor estimacin que la obtenida por interpolacin polinmica (ver figura 2).Los diferentes splines que resultan son:

En el intervalo [1.0, 2.0], la representacin de ambas funciones es la que aparece en la figura 2.

Fig.6. Funcin 1/x y en el intervalo [1.0, 2.0]

V. IMPLEMENTACIN EN MATLAB

A. Tabla de Comandos

TABLA IITABLA DE COMANDOS

FuncinDescripcinSintaxisArg 1EntradaSalida

prettyMejor presentacin de ecuaciones.Pretty(A)A=x^2/2Pretty(A)

linwidthControla el ancho de la lnea del plot.Plot(linewidth,Arg1)2Plot(linewidth,2)

B. Diagrama de Flujo

Fig.7 Diagrama del Flujo

C. Manual de UsuarioNombre Programa: Salida: polinomios y valores de interpolacin de splines. Este programa debe ser corrido para que se pueda empezar; se desplegar un men inicial donde se pide al usuario si desea usar la interpolacin de splines cuadrticas o cbicas. Si escoge la opcin de splines cuadrticas aparece otro men para escoger si desea ingreso de funcin o puntos.

Fig.8 Mens iniciales Si se desea escoger puntos, el usuario deber ingresar el nmero de puntos que desea interpolar, seguido de tanto los valores de X como los de Y.

Fig.9 Ingreso valores splines cuadrticos A continuacin se despliegan los (n-1) polinomios, y se pide al usuario que ingrese el valor donde desea interpolar, mostrando finalmente el valor, el error respectivo y la grfica de la splin que pasa por los puntos ingresados. Se pregunta al usuario si desea seguir.

Fig.10 Resolucin del mtodo

Fig.11 Grfico de los splines cuadrticos Si escoge la opcin de splines cbicas aparece nuevamente el men para escoger si desea ingreso de funcin o puntos. Si desea escoger ingresar una funcin, el usuario debe escribir la funcin, el nmero de puntos seguido de los valores de X que sern evaluados.

Fig. 12 Ingreso valores splines cbicos A continuacin se despliegan los (n-1) polinomios, y se pide al usuario que ingrese el valor donde desea interpolar, mostrando finalmente el valor y la grfica de la splin que pasa por los puntos ingresados. Se pregunta al usuario si desea seguir.

Fig.13 Resolucin del mtodo

Fig.14 Grfico splines cbicosVI. VENTAJAS Y DESVENTAJASA. Comparacin con otros mtodosTABLA IIICOMPARACIN CON MTODOS SIMILARESNMtodoFuncinVentajasDesventajas

1Spline cbicaSe usan poli-nomios de grado 3 para unir dos puntos de la funcin entre s, es decir en vez de utilizar un polinomio de alto grado se usan varios de grado 3.La funcin de interpolacintendr una pri-mera derivada suavizada y una segunda deri-vada continua,tanto dentro de los intervalos como en los puntos de control.No permiten control local de la curva. Si se altera la posicin de cualquier punto de control, afecta la curva entera.

2Interpo-lacin de Newton Para estimar valores inter-medios entre valores de una funcin conocidos.

Se agregan tr-minos en forma secuencial para capturar el comportamien-to de la funcin a analizar.La ecuacin del Polinomio de Interpolacin por Diferencias Divididas es similar a la serie de expan-sin deTaylor.La interpola-cin lineal es rpida y senci-lla, pero no muy precisa.

Este mtodo es til para situaciones que requieran un nmero bajo de puntos para interpolar.

3Interpo-lacin de LagrangeEs una refor-mulacin del polinomio de Newton que evita calcular las diferencias divididas.

Evala el polinomio obtenido para estimar valores de la funcin entre los dos puntos disponibles.Es rpida y fcil, ya que solamente se hace el clculo de trayectoria de dos puntos.

Entre ms pequeo sea el intervalo entre dos puntos, ms exacta ser la aproximacin.Si el compor-tamiento no corresponde al de una lnea recta los valores calculados no son correctos.Por interconec-tar dos puntos en lnea recta, los resulta-dos no se ajustan con exactitud.

Fig.15. Grficas correspondientes a la interpolacin con el mtodo de Lagrange con 4, 5 y 10 puntos.

Fig.16.Grficas correspondientes a la interpolacin utilizando el mtodo de Splines cbicas naturales con 4, 5 y 10 puntos. Vemos que la interpolacin con 5 puntos es muy buena, pero con 10, se obtiene una interpolacin perfecta.

VII. CONCLUSIONES Las interpolaciones con polinomios sufren de un problema bsico, y es la aparicin de grandes oscilaciones espreas, especialmente si el grado del polinomio es alto.

Una forma alternativa de obtener funciones interpoladoras, es dividiendo el intervalo en sucesivos intervalos, y generar polinomios de bajo grado en cada uno de estos intervalos. Esto se llama aproximacin polinomial por piezas.

Para que el resultado sea eficiente, estos polinomios deben mantener continuidad en la funcin, la derivada primera y la derivada segunda, en cada uno de estos puntos lmites.

Este tipo de interpolacin que ha demostrado poseer una gran finura y que inclusive es usado para el diseo asistido por computadora, por ejemplo, de tipos de letra. Esta interpolacin se llama interpolacin segmentaria ointerpolacin por splines.VIII. RECOMENDACIONES

Es recomendable utilizar el comando predefinido de Matlab para encontrar los coeficientes que se crea en el proceso de resolucin de splines, para evitar errores ya que el programa posee muchas variables.

Se recomienda que al resolver un ejercicio de aplicacin de Splines, se desarrollen enteramente para visualizar de mejor manera los resultados, adems de que de esta manera la comparacin con el programa de Matlab ser ms optima.

Es mucho ms recomendable utilizar el spline cbica que el lineal o el cuadrtico, dado que se obtiene un error mucho menor debido a que utiliza una mayor cantidad de ecuaciones y los polinomios obtenidos son de mayor grado.

REFERENCIAS

[1] Chapra S., Canale R., (2007). Mtodos Numricos para Ingenieros.(5ta ed) Mxico: McGraw-Hill[2] Nieves A., Dominguez F., (2007). Mtodos Numricos aplicados a la Ingeniera. (6ta ed) Mxico: McGraw-Hill[3] Universidad de Granada - Biblioteca en lnea. Espaa. (en lnea) Disponible en:http://www.ugr.es/~prodelas/AnNumCaminos/ftp/Tema6.htm[4] Universidad de los Andes Biblioteca en lnea. Interpolacin. Colombia.(en lnea) Disponible en: http://wwwprof.uniandes.edu.co/~gprieto/classes/compufis/interpolacion.pdf[5] AlbertoBengoaMoreno, Fernando DazGestal Splines Espaa(en lnea) Disponible en:http://sabia.tic.udc.es/gc/teoria/Curvas/HTML/TrabajoGC.htm#_Toc881652[6]Carlos Gonzlez MorcilloSplines: Curvas y Superficie - Escuela Superior de informtica Espaa. (en lnea) Disponible en:http://www.esi.uclm.es/www/cglez/download/docencia/AC/splines.pdf[7]TomiTejada,Joaquin Sanz, Pablo Perianes- Spline-Ejercicios-Universidad Politcnica de Madrid - Espaa. (en lnea) Disponible en:http://interpolacion.wikidot.com/spline-ejercicios