aproximación mediante splines cúbicos

Upload: frank-cordova

Post on 09-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

splines

TRANSCRIPT

Aproximacin mediante splines cbicosEl origen del concepto spline proviene del uso de una lmina de plstico delgada llamada curvgrafo ("spline") en el trazado de curvas suaves a travs de un conjunto de puntos (Sheid 1991).Las funciones "spline" son ecuaciones cbicas que modelan el comportamiento de las curvas realizadas por dicho instrumento, permitiendo unir en forma suave y continua una serie de puntos.Esta interpolacin se llama interpolacin segmentaria o interpolacin 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 interpolacin , esta interpolacin posee una gran finura, y que inclusive es usado para el diseo por computadora, por ejemplo, de tipos de letra.La ms populares son los polinomios cbicos por tramos y en especial los splines cbicos (naturales), por las siguientes razones: Son fciles de calcular y evaluar. Son fciles de derivar y sus derivadas aproximan a las derivadas de fx. Son fciles de integrar y se usan para aproximar la integral de fx. Modelan con suavidad la tendencia de un conjunto de datos.1, Breve historiaTomado de NA. Digest.v.98,#s6. 19 de julio de 1998.Mait to [email protected] Information about NA-NET:Mail to [email protected] URL : http://www.netlib.org/na-net/na_home.html Hace dos semanas puse aqu una pregunta acerca de las conexiones entre el desarrollo de aproximaciones de splines y el diseo de cuerpos automotores, y recib cerca de 30 respuestas, todas ellas muy informativas. Dado que muchos de ellos me pidieron que mostrara lo que haba aprendido, decid escribir un breve resumen y subirlo al compendio. Esta es la razn de estas notas.Se acepta comnmente que la primera referencia matemtica de los splines es el trabajo de Schoenberg [s], donde probablemente fue el primer lugar donde el trmino spline se us en conexin con la aproximacin polinomial tenue por piezas. Sin embargo, estas ideas tienen sus races en las industrias de aviacin y Construccin de barcos. En el reenvio a [BBB], Robin Forrest describe el localizar, una tcnica en la industria britnica de aviacin usada durante la Segunda Guerra Mundial, para construir plantillas para aviones, pasando tablones de madera delgadas a travs de puntos en el suelo de un local de diseo grande. Las plantillas estaran puestas en puntos discretos (llamados patos por Forrest; Schoenberg usa perros o ratas) y entre estos puntos asumira formas de un mnimo de energa de tensin. De acuerdo a Forrest, una motivacin posible para un modelo matemtico de este proceso fue la pedida potencial de los componentes del diseo crticos en toda una nave si el local fuera bombardeado por el enemigo. Esto promovi el localizamiento cnico, el cual usaba secciones cnicas para modelar la posicin de la curva entre los patos. El localizamiento cnico fue reemplazado por lo que llamaramos splines a principios de los 60s basados en el trabajo de J.C.Ferguson de Boeing y (tiempo despus) por M.A.Sabin de British Aircraft. Lo que considero muy interesante es que Forrest dice que la palabra spline viene de un dialecto Anglicano del Este.El uso de splines para modelar cuerpos automotores parece tener un sinfn de comienzos independientes. El crdito lo piden a nombre de De Castelau de Citroen, Bezler de Renault, and Birkhoff, Garabedian, y de Boor de General Mortos (GM), todos ellos por sus trabajos realizados a finales de la dcada de 1950s o principios de los aos 1960s. Al menos uno de los trabajos de De Casteljau fue publicado, pero no ampliamente, en 1959. La obra de D Boor de GM result en un conjunto de escritos siendo publicados a principios de los 60s, incluyendo algo del trabajo fundamental sobre los B-splines. El trabajo tambin fue hecho en Pratt yThitney Aircfraft, donde dos de los autores de [ANw] (el primer libro en s acerca de splines) fueron contratados, y el Modelo Basin de David Taylor, hecho por Feodor TheilheimerReferencias[anw] Ahlberg, Nielson and Wash, The Theory of splines and Theri applications, 1967[B] Birkhoff. Fluid dynamics, reactor computations and surface representation. In a History of Scientific Computation (Steve Nash, editor), 1990[BBB] Bartelsm Beatty and Barsky, an introduction to Splines for use in Computer Graphics and Geometric Modeling 1987[BdB] Birkhof and de Boor, Piecewise polynomial interpolation and approximation Proc. General Motors Symposium of 1964[D] Davis . B-splines and Geometric design . SIAM news vol.29 no, 5[S] Schoenberg. contributions to the problem of approximation of equidistant data by analytic functions Quart appl math. Vol. 4 [Y] Young. Garrtett Dirkhoff and applled mathematics. Notices of the AMS, vol.442. Teora MatemticaLos polinomios de grado mayor tienen naturaleza oscilatoria y fluctuaciones sobre una porcin pequea del intervalo estudiado puede inducir cambios muy grandes sobre un rango considerable, restringen el uso cuando se aproximan muchas delas funciones en situaciones fsicas reales.La tcnica llamada aproximacin polinmica segmentaria busca resolver este problema dividiendo el intervalo de la funcin f en una coleccin de subintervalos y construir polinomios aproximadamente diferentes en cada uno.La aproximacin de este tipo ms empleada es la interpolacin cbica de spline Esta tcnica requiere que en el intervalo el polinomio sea diferenciable continuamente y que adems tenga segunda derivada. Pero a pesar de esta condicin, el trazador cbico no supone que las derivadas del interpolante coinciden con las de la funcin.A esta forma de aproximar se le conoce como aproximacin polinomial fragmentaria.Aproximacin polinomial fragmentaria.La Aproximacin polinomial fragmentaria es la interpolacin lineal fragmentaria que consiste en unir una serie de puntos.

Mediante una serie de segmentos de recta, como se aprecia en la figura 3.7La aproximacin por funciones lineales muestra una desventaja; no se tiene la seguridad de que haya derivabilidad en los extremos de los subintervalos, lo cual dentro de un contexto geomtrico significa que la funcin de interpolacin o interpolante no es suave en dichos puntos. A menudo las condiciones fsicas indican claramente que se requiere la suavidad y que la funcin aproximante debe ser continuamente derivable.Otro procedimiento consiste en emplear un polinomio fragmentario del tipo Hermite. Por ejemplo, si los valores de y de se conocen en los puntos podemos emplear un polinomio de Hermite de grado tres en cada uno de los subintervalos para obtener una funcin continuamente derivable con el intervalo .

Si queremos determinar el polinomio cbico de Hermite apropiado en determinado intervalo, hasta calcular para ese intervalo. Puesto que los polinomios interpolantes de Lagrange necesarios para calcular son de primer grado, podemos hacer el clculo sin gran dificultad, Sin embargo, para utilizar los polinomios fragmentarios de Hermite en la interpolacin general, necesitamos conocer la derivada de la funcin que va ser aproximada, lo cual muchas veces no es posible.El tipo ms simple de funcin de polinomio fragmentario diferenciable en un intervalo entre es la funcin obtenida al ajustar un polinomio cuadrtico entre cada par consecutivo de nodos. Esto se hace construyendo una cuadrtica en que concuerde con la funcin en y en ; y as sucesivamente. Un polinomio cuadrtico general tiene tres constantes arbitrarias: el trmino constante, el coeficiente de x y el coeficiente de y nicamente se requieren dos condiciones para ajustar los datos en los extremos de cada intervalo, por ellos, existe flexibilidad que permite seleccionar la cuadrtica de modo que la interpolante tenga una derivada continua en . El problema de este procedimiento se presenta cuando hay que especificar las condiciones referentes a la derivada de la interpolante en los extremos y .No hay constantes suficientes para cerciorarse de que se satisfagan las condiciones.

Splines cbicosLa aproximacin polinmica fragmentaria ms comn utiliza polinomios entre cada par consecutivo de nodos y recibe el nombre de interpolacin de trazadores cbicos. Un polinomio cbico general contiene cuatro constantes; as pues, el procedimiento del trazador cbico ofrece suficiente flexibilidad para garantizar que el interpolante no slo sea continuamente diferenciable en el intervalo, sino que adems tenga una segunda derivada continua en el intervalo. Sin embargo, en la construccin del trazador cbico no se supone que las derivadas del interpolante concuerdan con las de la funcin, ni siquiera en los nodos.

Definicin.Dada una funcin definida en y un conjunto de nodos un interpolante de spline cbico S para es una funcin que cumple con las condiciones siguientes:a. es un polinomio cbico, denotado ,el subintervalo para cada ;b. para cada ;c. para cada ;d. para cada e. para cada f. Una de las siguientes condiciones de frontera se satisface:(i) (frontera libre o natural);(ii) y (frontera sujeta).Aunque los splines cbicos se definen con otras condiciones de frontera, las condiciones dadas en son suficientes en este caso. Cuando se presentan las condiciones de frontera libre, el trazador recibe el nombre de spline natural y su grfica se aproxima a la forma que adoptara una varilla larga y flexible si la hiciramos pasar por los puntos En trminos generales, en las condiciones de frontera sujeta se logran aproximaciones ms exactas, ya que abarcan ms informacin acerca de la funcin. Pero para que se cumpla este tipo de condicin de frontera, se requiere tener los valores de la derivada en los extremos o bien una aproximacin precisa de ellos.Construccin de un spline cbicoPara construir la interpolante de spline cbico de determinada funcin , aplicamos las condiciones de la definicin a los polinomios cbicos:,Para cada . Como puede aplicarse la condicin (c) para obtener

Para cada Los trminos se utilizaran varias veces en este desarrollo, por eso conviene introducir la notacin ms simple

Para cada . Si tambin definimos entonces la ecuacin (I)Ser vlida para cada De manera anloga, defina y observe que

Significa que para cada . Al aplicar la condicin (d) obtenemos (II)Para cada Al definir y aplicar la condicin (e) se obtiene otra relacin entre los coeficientes de , En este caso para (III)Al despejar en la ecuacin (III) y sustituir este valor en las ecuaciones (I) y (II) para cada se obtienen las ecuaciones.(IV)Y (V)La relacin final que incluye los coeficientes se obtiene resolviendo la ecuacin correspondiente en la forma de la ecuacin (IV) , primero para (VI)Y luego, con una reduccin del ndice, para . Esto da como resultado

Cuando sustituimos estos valores en la ecuacin obtenida de la ecuacin (V) con el ndice reducido en 1, obtenemos el sistema de ecuaciones lineales (VII)Para cada .

Splines naturalesSi est definida en , entonces tendr una interpolante nica de spline natural S en los nodos es decir, una interpolante de spline que cumple con las condiciones de frontera y Demostracin. En este caso las condiciones de frontera significan que y que ,as que . Las dos ecuaciones y junto a las ecuaciones de (VII)Producen un sistema lineal descrito por la ecuacin vectorial , donde A es la matriz de La matriz A es estrictamente dominante en sentido diagonal.

Y donde b y x son los vectores

3. Solucin de problemasa) Construya un spline natural cbico que pase por los puntos (1,2) ;(2,3) y (3,5)Este spline consiste de dos cbicas. La primera para el intervalo , denotada por:

Y la otra para , denotada por:

Existen 8 constantes que deben determinarse, lo que requiere de 8 condiciones. Cuatro de ellas proceden del hecho de que los splines deben coincidir con los datos en los nodos. Por tanto.Y

Dos ms provienen del hecho de que y .Estas son: y

Las ltimas dos surgen de las condiciones de frontera natural: y

Resolviendo este sistema de ecuaciones tenemos el spline.

4. AlgoritmosEl spline cubico natural. Matlab, por defecto, calcula splines cbicos con la condicin not-a-knot, que es cierta relacin entre derivadas en los puntos extremos y los inmediatos. Solo se pueden calcular splines naturales con un toolbox. El cdigo que sigue implementa el clculo del spline cubico natural de una coleccin de puntos. La entradaes:x: la lista de las coordenadas x de los puntosy: la lista de las coordenadas y de los puntos

Devuelve un objeto" de Matlab que se denomina polinomio a trozos, que describe exactamente un objeto polinomial definido a trozos: los intervalos en los que est definido vienen dados por el vector x y su valor en un t (que hay que computar utilizando la funcin ppval)

% spline cubico 'natural ': en ambos extremos , la% derivada segunda es 0.% la entrada es una nube de puntos con al menos% dos puntosfunction [f] = spline_cubico (x, y)n = length (x) -1;if(n 1& i < n)F(i ,[i -1 i i +1]) = [h(i -1) , 2*( h(i -1) + h(i)), h(i)] ;alpha (i) = 3*( y(i+1) -y(i))/h(i) - 3*( y(i) - y(i -1) )/h(i -1) ;elseF(i,i) = 1;alpha (i) = 0;endi=i +1;endc = (F\ alpha ) '; 28 b = zeros (1,n);d = zeros (1,n);i = 1;while (i