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