Sunteți pe pagina 1din 27

Un problema de Aproximacin

Evolucin de la temperatura diurna

Grados

Hora
Grados

2
2
10
81
16
41
12
08
6

6
7

8
9

1
0

10
12

12
18

1
1
Hora
2
4

14
21

16
19

18
15

20
10

1
6

1
8

2
0

2
2

Interpolacion
Interpolacin Polinomial
Polinomios Osculadores: Interpolacin de

Hermite
Interpolacin Racional: Aproximaciones de

Pade
Interpolacin segmentaria: Splines
Otros

Ajuste
Polinomios de Taylor
Mnimos Cuadrados
Minimizacin de normas
Aproximacin Racional
Series de Fourier
Curvas de Bezier
B-Splines

Interpolacin Polinmica
Segmentaria
Limitaciones de la interpolacin polinmica
Grado del polinomio
Carcter de la funcin a interpolar
Alternativa propuesta: Splines.
Numricamente estable
Matrices dispersas
Agradable a la vista

Interpolacin Polinomica
Segmentaria: Splines
Interpolacin Segmentaria
Interpolacin Segmentaria Lineal
Interpolacin Segmentaria Cbica
Condiciones Naturales
Condiciones sobre la derivada

Interpolacin Segmentaria
Lineal: Funcin de Runge
Polinomio grado 4

Spline lineal

1
0.9

0.8

0.8
0.6

0.7
0.6

0.4

0.5
0.2

0.4
0.3

0.2
-0.2
-0.4

0.1
-1

0
-1

1
y
1 25x 2

Perfil para un diseo

Polinomio interpolador

Aplicaciones
Ingeniera y Diseo (CAD/CAM, CNCs)
Geologa
Aeronutica y automocin
Economa
Procesamiento de seales e imgenes (Reconocimiento
de patrones, recuperacin de imgenes)
Robtica
Medicina (Aparatos auditivos, mapas cerebrales)
Meteorologa (Mapas climticos, deteccin de
inundaciones,...)
Mundo Virtual Distribuido Multiusuario

Interpolacin Polinmica
Segmentaria
Dados n+1 puntos (x0,y0), (x1,y1), ..., (xn,yn) con
x0<x1<xn, una funcin spline de orden k (k-Spline)
sobre dichos puntos es una funcin S verificando:
(i) S(x) = qk(x) polinomio de grado k, x [xk,xk+1],
k=0,1,...,n-1
(ii) S(xk) = yk, k=0,1,...,n
(iii) S C k 1 x0 , x1

Splines Lineales
Polinomio de Lagrange

x x k 1
x xk
q k ( x)
yk
y k 1
x k x k 1
x k 1 x k
Polinomio de Newton

q k ( x) f [ x k ] f [ x k , x k 1 ]( x x k )
y k 1 y k
yk
(x xk )
x k 1 x k

Splines Lineales

Interpolacin Segmentaria
Lineal: Funcin de Runge
Polinomio grado 4

Spline lineal

1
0.9

0.8

0.8
0.6

0.7
0.6

0.4

0.5
0.2

0.4
0.3

0.2
-0.2
-0.4

0.1
-1

0
-1

1
y
1 25x 2

Splines Cbicos

Spline cbico

q k ( x) a k b k ( x x k ) c k ( x x k ) 2 d k ( x x k ) 3

4n incgnitas
Condiciones de interpolacin
S ( xk ) yk
n+1 ecuaciones
Condiciones de conexin

qk ( xk 1 ) qk 1 ( xk 1 )
q k' ( xk 1 ) qk' 1 ( xk 1 )
q k'' ( xk 1 ) qk'' 1 ( xk 1 )

3(n-1) ecuaciones

q k ( x) a k b k ( x x k ) c k ( x x k ) 2 d k ( x x k ) 3
h k x k 1 x k
a k f ( x k ),
k 0,1,..., n
hk
1
bk
( a k 1 a k )
(2c k c k 1 ),
k 0,1,..., n 1
hk
3

d k ( c k 1 c k ) / ( 3h k ),

k 1

k 1

2(h

k 1

k 0,1, n 1

h )c h c
k

k 1

3
3

(a k 1 a k )
( a k a k 1 )
hk
h k 1
n-1 ecuaciones y n+1 incgnitas

Condiciones Naturales
Teorema 1
Sea f(x) una funcin definida en [x0,xn]. Entonces
existe un nico s(x) spline interpolante cbico
para f(x) en [x0,xn] tal que
s(x0) = 0

cn = s(xn)/2 = 0
s(x0) = 2c0 = 0

s(xn) = 0.

c0 = 0.

Matriz del sistema


h1
0
2( h 0 h 1 )

h1
2( h 1 h 2 )
h2

0
h2
2( h 2 h 3 )

0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

0
0
0

2( h n 4 h n 3 )
h n3
0

h n3
2( h n 3 h n 2 )
h n2

0
h n2
2( h n 2 h n1 )

Trminos independientes

3
3
(a 2 a 1 ) (a 1 a 0 )
h1
h0

3
h n 1

(a n a n 1 )

3
h n2

(a n 1 a n 2 )

Ejemplo de la temperatura
Spline cbico

22

22

20

20

18

18

16

16

Grados

Grados

Polinomio interpolador

14

14

12

12

10

10

8
6

8
5

10

Hora

15

20

10

Hora

15

20

Condiciones sobre la derivada


Teorema 2
Sea f(x) una funcin definida en [x0,xn]. Entonces existe un nico
s(x) spline cbico interpolante para f(x) en [x0,xn].tal que
s(x0) = f(x0)
y
s(xn) = f(xn).
3
2 h 0 c 0 h 0 c1
(a a 0 ) 3f ' ( x 0 )
h0 1

h n 1c n 1 2 h n 1c n 3f ' ( x n )

3
h n 1

( a n a n 1 ).

Matriz del sistema


h0
0
0
2h0
h 2( h h )
h1
0
0
1
0
0
h1
2 ( h1 h 2 )
h2

0
0
h2
2( h 2 h 3 )

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 n2

h n2
2( h n 2 h n 1 ) h n 1

0
h n 1
2 h n 1

Trminos independientes

3
(a1 a 0 )
h0
3
(a 2 a1 )
h1

h n 1

3f ' ( x 0 )

3
(a1 a 0 )
h0

(a n a n 1 )

3f ' ( x n )

(a n 1 a n 2 )

h n2
3

(a n a n 1 )
h n 1

Splines Cbicos

Interpolacin segmentaria con


MATLAB

Interpolacin segmentaria cbica

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)

Interpolacin segmentaria lineal


lyy = interp1(x,y,xx)

Spline de MATLAB

Interpolacin Lineal

0.5
0.5
0
0
-1

Spline Natural

-1

Spline Derivada

0.5

0.5

0
-1

-1

S-ar putea să vă placă și