Un problema de Aproximación Evolución de la temperatura diurna (Gp:) 4 (Gp:) 8 (Gp:) 20 (Gp:) 6 (Gp:) 8 (Gp:) 10 (Gp:) 12 (Gp:) 14 (Gp:) 16 (Gp:) 18 (Gp:) 20 (Gp:) 22 (Gp:) 6 (Gp:) 10 (Gp:) 12 (Gp:) 14 (Gp:) 16 (Gp:) 18 (Gp:) 22 (Gp:) Hora (Gp:) Grados
Interpolacion Interpolación Polinomial Polinomios Osculadores: Interpolación de Hermite Interpolación Racional: Aproximaciones de Pade Interpolación segmentaria: Splines Otros
Ajuste Polinomios de Taylor Mínimos Cuadrados Minimización de normas Aproximación Racional Series de Fourier Curvas de Bezier B-Splines
Splines
Interpolación Polinómica Segmentaria Limitaciones de la interpolación polinómica Grado del polinomio Carácter de la función a interpolar Alternativa propuesta: Splines. Numéricamente estable Matrices dispersas Agradable a la vista
Interpolación Polinomica Segmentaria: Splines Interpolación Segmentaria Interpolación Segmentaria Lineal Interpolación Segmentaria Cúbica Condiciones Naturales Condiciones sobre la derivada
Interpolación Segmentaria Lineal: Función de Runge -1 0 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Spline lineal -1 0 1 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Polinomio grado 4
Perfil para un diseño
Polinomio interpolador
Aplicaciones
Ingeniería y Diseño (CAD/CAM, CNCs) Geología Aeronáutica y automoción Economía Procesamiento de señales e imágenes (Reconocimiento de patrones, recuperación de imágenes) Robótica Medicina (Aparatos auditivos, mapas cerebrales) Meteorología (Mapas climáticos, detección de inundaciones,…) Mundo Virtual Distribuido Multiusuario
Interpolación Polinómica Segmentaria
Splines Lineales Polinomio de Lagrange Polinomio de Newton
Splines Lineales ¿Cómo calculamos Splines lineales con Matlab?
Interpolación Segmentaria Lineal: Función de Runge -1 0 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Spline lineal -1 0 1 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Polinomio grado 4
Splines Cúbicos
Spline cúbico
4n incógnitas Condiciones de interpolación n+1 ecuaciones Condiciones de conexión
3(n-1) ecuaciones
(Gp:) h (Gp:) a (Gp:) a (Gp:) h (Gp:) a (Gp:) a (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) + (Gp:) – (Gp:) – (Gp:) = (Gp:) – (Gp:) – (Gp:) – (Gp:) 1 (Gp:) 1 (Gp:) 1 (Gp:) 3 (Gp:) 3 (Gp:) ( (Gp:) ) (Gp:) ( (Gp:) )
(Gp:) h (Gp:) c (Gp:) h (Gp:) h (Gp:) c (Gp:) h (Gp:) c (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) k (Gp:) – (Gp:) – (Gp:) – (Gp:) + (Gp:) + (Gp:) + (Gp:) + (Gp:) 1 (Gp:) 1 (Gp:) 1 (Gp:) 1 (Gp:) 2 (Gp:) ( (Gp:) ) (Gp:) =
n-1 ecuaciones y n+1 incógnitas
Condiciones Naturales
Términos independientes
Ejemplo de la temperatura 5 10 15 20 6 8 10 12 14 16 18 20 22 Hora Grados Spline cúbico 5 10 15 20 6 8 10 12 14 16 18 20 22 Hora Grados Polinomio interpolador
Condiciones sobre la derivada
Matriz del sistema
Términos independientes
Splines Cúbicos ¿Cómo calculamos Splines cúbicos con Matlab?
Interpolación segmentaria con MATLAB Interpolación segmentaria cúbica ps = spline(x,y) % Devuelve el Spline, no los coeficientes [x,s] = unmkpp(ps) % Devuelve los coeficientes ps = mkpp(x,s) syy = spline(x,y,xx) = ppval(ps,xx) Interpolación segmentaria lineal lyy = interp1(x,y,xx)
(Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 0.5 (Gp:) 1 (Gp:) Spline Natural (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 0.5 (Gp:) 1 (Gp:) Spline Derivada (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 0.5 (Gp:) 1 (Gp:) Interpolación Lineal (Gp:) -1 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 0.5 (Gp:) 1 (Gp:) Spline de MATLAB