Motivación: problemas en aproximación funcional. Interpolación polinómica oscilaciones para número elevado de datos Interpolación seccional: SPLINES.5 8 6 4 Laboratori de Càlcul Numèric (LaCàN) Departament de Matemàtica Aplicada III Universitat Politècnica de Catalunya (Spain) http://www-lacan.upc.es -.5 f(x) n=4 n=8 n=6 - - -.5.5 -..4.6.8 Splines Motivación: problemas en aproximación funcional. Mínimos cuadrados La aproximación no pasa por los puntos Motivación: problemas en aproximación funcional 3. Modificaciones locales afectan globalmente.8.6.4. 8 6 4.5 -.5 -. f(x) n=4 n=8 n=6 - -.5.5..4.6.8 - -.5 - -.5.5 Splines 3 Splines 5
Cambiar el tipo de aproximación Solución Definición Cualidades deseables de la aproximación (dibujo, resolución EDPs ):. Control sobre la suavidad del aproximante. Posibilidad de interpolar 3. Desarrollo en función de una base 4. Interpolante local Aproximación polinómica a trozos (spline) http://es.wikipedia.org/wiki/spline Splines 6 Splines 7 SPLINE: función definida a trozos, generalmente polinómica en cada tramo Definición Fijados:. puntos base {x, x,...,x n }. grado de polinomio m en cada subintervalo y 3. regularidad (continuidad en los puntos base interiores de S(x) y las r primeras derivadas) Se define el espacio de funciones spline Es un espacio vectorial? Cuál es la dimesión del espacio E S? Cómo se calcula una función spline en este espacio? Splines 9 Cómo se calcula una base? Tienen los coeficientes en esa base algún significado? Splines
Función polinómica a trozos Continua (en los puntos base x i ) Splines lineales C Spline lineal sin imponer continuidad Notación: Cuál es la dimensión de este espacio? Y si imponemos continuidad C? Splines Splines Spline: Cálculo de S i Poligonal: Número de coeficientes: n Número de condiciones: n- continuidad en los n- puntos interiores Cálculamos la recta S i (x) a partir de los valores en los puntos base x y x puntos base x i y x i+ Diferencia: n (n-) = n+ parámetros libres, dimensión del espacio E S Podemos imponer el valor de la función en n+ puntos base. Splines 3 Splines 4
Base del espacio de splines Depende de los puntos base {x, x,...,x n } De todas las bases posibles escogemos la que permite variar con facilidad los valores f i BASE LOCAL El interpolante (spline) se escribe como donde son las funciones de la base de splines (definidas en todo [x,x n ]) Las funciones de la base deben verificar Splines 5 Splines 6 En cada intervalo: Spline C parabólico Podemos imponer el valor de la función en n+ puntos base y una condición adicional Número de coeficientes 3n Número de condiciones: continuidad del spline y de la primera derivada en los n- puntos interiores Por ejemplo, podemos imponer la pendiente en el inicio: S (x )=s : (n-) Diferencia: 3n (n-) = n+ parámetros libres, dimensión del espacio E S Splines 7 Splines 8
... La base de splines es no local.5.5.5 -.5.5 -.5 El spline C parabólico se conoce como spline parabólico recurrente Splines 9 - - ds ds -ds -.5 -.5..4.6.8 Elección de s : Dejar s libre y modificar interactivamente Interpolar polinomio con N+ puntos en el entorno de x : s = pendiente del polinomio en x, Tomar s = (f f )/(x x ) (diferencia centrada) e interpolar un subintervalo en sentido contrario poco utilizado S S -S -.5..4.6.8 Splines Se conoce como interpolación de Hermite En cada intervalo: Spline C cúbico Si las derivadas no son conocidas, se aproximan. Por ejemplo: Número de coeficientes: 4n Número de condiciones: continuidad del spline y de la primera derivada en los n- puntos interiores (n-) Diferencia: 4n (n-) = (n+) parámetros libres, dimensión del espacio E S Podemos imponer el valor de la función y su derivada en los n+ puntos base. Splines Splines
Cálculo de S i (x) En cada intervalo: Resolviendo el sistema, se obtiene la expresión de la cúbica en cada subintervalo [x i,x i+ ] : Calculamos la cúbica S i (x) a partir del valor de S(x) y de su derivada en los puntos base x i y x i+ Splines 3 Splines 4 Base del espacio de splines El interpolante (spline cúbico) se escribe como BASE LOCAL donde y son las funciones de la base de splines (definidas en todo [x,x n ]) Las funciones de la base deben verificar Splines 5 Splines 6
BASE LOCAL Spline C parabólico (no local).5.5 Ejemplo.5.5 -.5 -.5 - - ds ds -ds S S -S -.5 -.5..4.6.8..4.6.8 Spline C cúbico (local).5.5 -.5.5.5 -.5 Splines 7 - - ds ds -ds S S -S -.5..4.6.8 -.5..4.6.8 Splines 8 En cada intervalo: Número de coeficientes: 4n Spline C cúbico Número de condiciones: continuidad del spline y de la primera y segunda derivada en los n- puntos interiores Diferencia: 4n 3(n-) = (n+) + 3(n-) Podemos imponer el valor de la función en los n+ puntos base y dos condiciones adicionales Posibles condiciones adicionales: derivadas en los extremos S (x )= s, S (x n )= s n segundas derivadas en los extremos S (x )= s, S (x n )= s n función periódica... S (x )=S (x n ), S (x )=S (x n ) parámetros libres, dimensión del espacio E S Splines 9 Splines 3
Formulación en derivadas Spline cúbico (de momento con continuidad C ) Formulación en curvaturas Se expresa el spline en función de f i y de las segundas derivadas en los puntos base s i Sólo podemos imponer el valor de S(x i )=f i y dos condiciones adicionales Las pendientes s i no son datos, son parámetros a determinar imponiendo continuidad de S (x) Las curvaturas s i no son datos, son parámetros a determinar imponiendo continuidad de S (x) y las dos condiciones adicionales. detalles y las dos condiciones adicionales. detalles Splines 3 Splines 3 Condiciones adicionales Spline natural. Curvaturas prescritas en los extremos: s y s n dadas Formulación en curvaturas. Pendientes prescritas en los extremos: s y s n dadas Formulación en pendientes Es el spline C cúbico con s =s n = La suavidad de una función se mide con el funcional 3. Imposición de una pendiente y una curvatura. ejemplo 4. Spline periódico: Si se verifica f =f n puede ser interesante exigir s =s n y s =s n 5. Interpolación cuadrática en los dos subintervalos extremos: s =s y s n- =s n 6. Interpolación con la misma cúbica en los dos primeros subintervalos y en los dos últimos subintervalos Splines 33 Teorema De todas las funciones C que pasan por {x i,f i } i=,...,n, la más suave es el spline natural. Es decir, el spline natural minimiza el funcional I en C. Splines 34
Demostración Sea h C cualquiera y S(x) el spline natural. La diferencia del funcional I es Por lo tanto, donde siendo S(x) el spline natural (s =s n =) Splines 35 Splines 36 Base de splines naturales Observación De la ecuación donde también se deduce que el spline cúbico C es la función C más suave para pendientes fijadas en los extremos (h = s, h n = s n ) Base no local, pero con amortiguamiento muy rápido Splines 37 Splines 38
Ejemplo Spline C parabólico (no local) Spline C cúbico (local) Ejemplo: paradoja de Runge.5.5 n=4 n=8.5.5 -.5 -.5.5.5 - - S S -S S S -S -.5 -.5..4.6.8..4.6.8 Spline C cúbico (no local, amortiguamiento rápido).5.5 -.5 f(x) -.5 interpolación polinómica spline natural spline C cúbico - - -.5.5 f(x) -.5 interpolación polinómica spline natural spline C cúbico - - -.5.5 - S S -S -.5..4.6.8 Splines 39 Splines 4 Formulación en derivadas Spline cúbico (de momento con continuidad C ) THE END Sólo podemos imponer el valor de S(x i )=f i y dos condiciones adicionales Las pendientes s i no son datos, son parámetros a determinar imponiendo continuidad de S (x) y las dos condiciones adicionales Splines 43 Splines 44
Imponiendo continuidad de la segunda derivada: = Segundas derivadas del spline: Splines 45 Splines 46 Sistema de ecuaciones sistema (n-)x(n+) Pendientes prescritas en los extremos: s y s n dadas donde Hay que añadir las dos condiciones adicionales (matriz n- n-, tridiagonal, no simétrica y estrictamente diagonalmente dominante) Splines 47 Splines 48
Formulación en curvaturas Se expresa el spline en función de f i y de las segundas derivadas en los puntos base s i Cúbica en cada subintervalo [x i, x i+ ] Spline cúbico C (formulación en curvaturas) Segunda derivada: Imponemos valores S(x i )=f i y S (x i )=s i : Sólo podemos imponer el valor de f i y dos condiciones adicionales Las curvaturas s i no son datos, son parámetros a determinar imponiendo continuidad de S (x) y las dos condiciones adicionales Splines 49 Splines 5 Imponiendo continuidad de la primera derivada: Primeras derivada del spline: = Splines 5 Splines 5
Sistema de ecuaciones sistema (n-)x(n+) Curvaturas prescritas en los extremos: s y s n dadas donde Hay que añadir las dos condiciones adicionales matriz n- n-, tridiagonal, no simétrica y estrictamente diagonalmente dominante Splines 53 Splines 54 Condiciones adicionales: s y s n Formulación en curvaturas (análogamente se puede hacer para la formulación en derivadas) Imponemos la derivada s con El sistema resultante es sistema (n-)x(n+) Splines 55 Splines 56