miércoles, 20 de mayo de 2009

SPLINES

En el subcampo matemático del análisis numérico, un spline es una curva definida a trozos mediante polinomios.
En los problemas de interpolación, se utiliza a menudo la interpolación mediante splines porque da lugar a resultados similares requiriendo solamente el uso de polinomios de bajo grado a la vez que se evitan las oscilaciones, que en la mayoría de las aplicaciones resultan indeseables, que aparecen al interpolar mediante polinomios de grado elevado.
Para el ajuste de curvas, los splines se utilizan para aproximar formas complicadas. La simplicidad de la representación y la facilidad de cómputo de los splines los hacen populares para la representación de curvas en informática, particularmente en el terreno de los gráficos por ordenador.
INTRODUCCION
El término "spline" hace referencia a una amplia clase de funciones que son utilizadas en aplicaciones que requieren la interpolación de datos, y/o un alisado en la interpolación. Los splines son utilizados para la interpolación y/o alisado de datos de una o varias dimensiones. Las funciones para la interpolación por splines normalmente se determinan como minimizadores de la aspereza sometidas a una serie de requisitos limitadores.

En este artículo nos referiremos con el término "spline" a su versión restringida en una dimensión y polinomial, que es la más comúnmente utilizada.

INTERPOLACION SEGMENTARIOA LINEAL:
Este es el caso más sencillo. En él, vamos a interpolar una función f(x) de la que se nos dan un número N de pares (x, f(x)) por los que tendrá que pasar nuestra función polinómica P(x). Esta serie de funciones nuestras van a ser lineales, esto es, con grado 1: de la forma P(x) = ax + b.

Definiremos una de estas funciones por cada par de puntos adyacentes, hasta un total de (N-1) funciones, haciéndolas pasar obligatoriamente por los puntos que van a determinarlas, es decir, la función P(x) será el conjunto de segmentos que unen nodos consecutivos; es por ello que nuestra función será continua en dichos puntos, pero no derivable en general.

Ejemplo : Interpolar con splines f(x) = 1 / x ,, en los puntos en los que x vale 1, 2 y 4

f(1) = 1

f(2) = 0.5

f(4) = 0.25

INTERPOLACION SEGMENTARIA CUADRATICA:

En este caso, los polinomios P(x) a través de los que construímos el Spline tienen grado 2. Esto quiere decir, que va a tener la forma P(x) = ax² + bx + c
Como en la interpolación segmentaria lineal, vamos a tener N-1 ecuaciones (donde N son los puntos sobre los que se define la función). La interpolación cuadrática nos va a asegurar que la función que nosotros generemos a trozos con los distintos P(x) va a ser continua, ya que para sacar las condiciones que ajusten el polinomio, vamos a determinar como condiciones:

Que las partes de la función a trozos P(x) pasen por ese punto. Es decir, que las dos Pn(x) que rodean al f(x) que queremos aproximar, sean igual a f(x) en cada uno de estos puntos.
Que la derivada en un punto siempre coincida para ambos "lados" de la función definida a trozos que pasa por tal punto común.

Esto sin embargo no es suficiente, y necesitamos una condición más. ¿Por qué?. Tenemos 3 incógnitas por cada P(x). En un caso sencillo con f(x) definida en tres puntos y dos ecuaciones P(x) para aproximarla, vamos a tener seis incógnitas en total. Para resolver esto necesitaríamos seis ecuaciones, pero vamos a tener tan sólo cinco: cuatro que igualan el P(x) con el valor de f(x) en ese punto (dos por cada intervalo), y la quinta al igualar la derivada en el punto común a las dos P(x).
Se necesita una sexta ecuación,¿de dónde se extrae? Esto suele hacerse con el valor de la derivada en algún punto, al que se fuerza uno de los P(x).

INTERPOLACION SEGMENTARIA CUBICA:

En este caso, cada polinomio P(x) a través del que construímos los Splines en [m,n] tiene grado 3. Esto quiere decir, que va a tener la forma P(x) = ax³ + bx² + cx + d


En este caso vamos a tener cuatro variables por cada intervalo (a,b,c,d), y una nueva condición para cada punto común a dos intervalos, respecto a la derivada segunda:
Que las partes de la función a trozos P(x) pasen por ese punto. Es decir, que las dos Pn(x) que rodean al f(x) que queremos aproximar, sean igual a f(x) en cada uno de estos puntos.
Que la derivada en un punto siempre coincida para ambos "lados" de la función definida a trozos que pasa por tal punto común.
Que la derivada segunda en un punto siempre coincida para ambos "lados" de la función definida a trozos que pasa por tal punto común.
Como puede deducirse al compararlo con el caso de splines cuadráticos, ahora no nos va a faltar una sino dos ecuaciones (condiciones) para el número de incógnitas que tenemos.
La forma de solucionar esto, determina el carácter de los splines cúbicos. Así, podemos usar:

Splines cúbicos naturales: La forma más típica. La derivada segunda de P se hace 0 para el primer y último punto sobre el que está definido el conjunto de Splines, esto son, los puntos m y n en el intervalo [m,n].

Dar los valores de la derivada segunda de m y n de forma "manual", en el conjunto de splines definidos en el intervalo [m,n].

Hacer iguales los valores de la derivada segunda de m y n en el conjunto de splines definidos en el intervalo [m,n]

No hay comentarios:

Publicar un comentario