Un problema de Aproximación
 Evolución de la temperatura diurna
Grados
Hora
Grados
22
20
18
16
14
12
10
8
6
4
6
6
7
8
9
10
12
12
18
14
21
16
19
18
15
20
10
8
10
12
14
Hora
16
18
20
22
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
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
Polinomio grado 4
Spline lineal
1
1
0.9
0.8
0.8
0.6
0.7
0.6
0.4
0.5
0.2
0.4
0.3
0
0.2
-0.2
0.1
-0.4
-1
0
0
-1
1
y 
1
1  25 x
2
0
1
Perfil para un diseño
Polinomio interpolador
Aplicaciones
 Ingeniería y Diseño (CAD/CAM, CNC’s)
 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
D ados n+ 1 puntos (x 0 ,y 0 ), (x 1 ,y 1 ), ..., (x n ,y n ) con
x 0 < x 1 … < x n , una función spline de orden k (k-S pline)
sobre dichos puntos es una función S verificando:
(i) S (x) = q k (x) polinom io de grado  k, x  [x k ,x k+ 1 ],
k= 0,1,...,n-1
(ii) S (x k ) = y k , k= 0,1,...,n
(iii) S  C k  1  x 0 , x1 
Splines Lineales
 Polinomio de Lagrange
q k (x) 
x  x k 1
x k  x k 1
yk 
x  xk
x k 1  x k
y k 1
 Polinomio de Newton
q k ( x )  f [ x k ]  f [ x k , x k  1 ]( x  x k ) 
 yk 
y k 1  y k
x k 1  x k
(x  x k )
Splines Lineales
Interpolación Segmentaria
Lineal: Función de Runge
Polinomio grado 4
Spline lineal
1
1
0.9
0.8
0.8
0.6
0.7
0.6
0.4
0.5
0.2
0.4
0.3
0
0.2
-0.2
0.1
-0.4
-1
0
0
-1
1
y 
1
1  25 x
2
0
1
Splines Cúbicos



Spline cúbico
2
3
q k ( x)  a k  b k (x  x k )  c k (x  x k )  d k ( x  x k )
4n incógnitas
Condiciones de interpolación
S ( xk )  y k
n+1 ecuaciones
Condiciones de conexión
q k ( x k 1 )  q k 1 ( x k 1 )
q k ( x k 1 )  q k 1 ( x k 1 )
'
q k ( x k 1 )  q
''
'
''
k 1
( x k 1 )
3(n-1) ecuaciones
q k (x)  a k  b k (x  x k )  c k (x  x k )
a k  f ( x k ),
1
bk 
hk
( a k 1  a k ) 
( 2 c k  c k  1 ),
3
d k  ( c k  1  c k ) / ( 3 h k ),
h
k 1

c
k 1
3
hk
 2(h
k 1
k
3
h k 1
k
3
k  0 ,1, ... , n  1
k  0 ,1,  n  1
 h )c  h c
(a k 1  a k ) 
 d k (x  x k )
h k  x k 1  x k
k  0 ,1, ... , n
hk
2
k
k 1

( a k  a k 1 )
n-1 ecuaciones y n+1 incógnitas
Condiciones Naturales
T e o re m a 1
S e a f(x ) u n a fu n c ió n d e fin id a e n [x 0 ,x n ]. E n t o n c e s
e x ist e u n ú n ic o s(x ) sp lin e in t e rp o la n t e c ú b ic o
p a ra f(x ) e n [x 0 ,x n ] t a l q u e
s’’(x 0 ) = 0
y
c n = s’’(x n )/2 = 0
s’’(x 0 ) = 2c 0 = 0  
s’’(x n ) = 0 .
c 0 = 0.
Matriz del sistema
2 ( h 0  h 1 )

h1


0



M 



0


0

0

h1
0
 
0
0
2(h1  h 2 )
h2
 
0
0
2(h 2  h 3 )  
0
0
h2


 




 


0
0
 
2( h n4  h n3 )
h n3
0
0
 
h n3
2(h n3  h n2 )
0
0
 
0
h n2


0


0






0


h n2

2 ( h n  2  h n  1 ) 
0
Términos independientes
3
3


(a 2  a 1 ) 
(a1  a 0 )


h1
h0









p







 3

3

( a n  a n 1 ) 
( a n 1  a n  2 ) 
h n2
 h n  1

Ejemplo de la temperatura
Spline cúbico
22
22
20
20
18
18
16
16
Grados
Grados
Polinomio interpolador
14
14
12
12
10
10
8
6
8
5
10
15
Hora
20
6
5
10
15
Hora
20
Condiciones sobre la derivada
T e o re m a 2
S ea f(x) u na fu nció n d efinid a en [x 0 ,x n ]. E nto nces existe u n ú nico
s(x) sp line cú bico interp o lante p ara f(x) en [x 0 ,x n ].tal q u e
s’(x 0 ) = f’(x 0 )
y
s’(x n ) = f’(x n ).
2 h 0c 0  h 0c1 
3
h0
(a 1  a 0 )  3f ' ( x 0 )
h n  1c n  1  2 h n  1c n  3 f ' ( x n ) 
3
h n 1
( a n  a n  1 ).
Matriz del sistema
h0
0
0
2 h 0

h 2(h 0  h1)
h1
0
 0
 0
h1
2(h1  h 2 )
h2

0
h2
2(h2  h3 )
 0
M 
 




0
0
0
 0
 0
0
0
0

0
0
0
 0








0 

0
0
0

0
0
0 

0
0
0 


 

2( h n3  h n2 )
h n2
0 
h n2
2 ( h n  2  h n 1 ) h n 1 

0
h n 1
2 h n  1 
0
0
Términos independientes
 3
 h (a1  a 0 )
0

 3 (a  a )
2
1
 h1
p  

3

( a n  a n 1 )
 h n 1

3f ' ( x n )








3f ' ( x 0 )


3

(a1  a 0 )

h0


3
( a n 1  a n  2 ) 
h n2


3
( a n  a n 1 ) 
h n 1

Splines Cúbicos
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)
Spline de MATLAB
1
Interpolación Lineal
1
0.5
0.5
0
0
-1
0
1
Spline Natural
1
-1
1
Spline Derivada
1
0.5
0
0.5
0
0
-1
0
1
-1
0
1
Descargar

Interpolacion Polinomica Segmentaria: Splines