Date post: | 26-Sep-2015 |
Category: |
Documents |
Upload: | luis-conde |
View: | 6 times |
Download: | 1 times |
INTERPOLACIN
C. Guerra
PUCP
Funcin Interpolante
Las funciones ms usadas para interpolar son las polinomiales. Estos
fciles de evaluar diferenciar e integrar.
Su utilidad principal es la de estimar para
Interpolacin
Extrapolacin
Generalmente no se tiene control de los valores xi dados.
Se debe utilizar pocos puntos para realizar la interpolacin, para evitar las oscilaciones polinmicas.
El nmero de puntos dados menos uno nos da el mayor orden que puede tener el polinomio.
Observaciones
Interpolacin Polinomial
Dado el conjunto de puntos: se busca un polinomio cuya grfica pase por todos los puntos
Teorema
Para un conjunto cualquiera de N puntos dados en el espacio, existe un nico polinomio interpolante P(x) de grado menor que N
Existen diversos algoritmos para determinar P(x)
Algoritmo de Vandermonde
Algoritmo de Newton
Algoritmo de Lagrange
Algoritmo de Neville
Algoritmo de Vandermonde
Sea el polinomio de grado N-1
Esta funcin pasa por los N puntos, luego los coeficientes quedan
determinados de:
Este sistema de ecuaciones lineal se puede escribir en la forma matricial:
Este mtodo de resolver para los coeficientes indeterminados no es el
ms eficiente desde el punto de vista algortmico.
Algoritmo de Vandermonde
Algoritmo de Lagrange
Formalmente:
Lagrange generaliz esta formulacin:
Ecuacin de la recta:
Interpolacin lineal de Lagrange:
En efecto, el problema se puede generalizar definiendo los polinomios
de Lagrange, piezas bsicas para el construir el interpolante:
El polinomio de interpolacin est dado por:
Usando el algoritmo de Lagrange no es necesario resolver un sistema lineal de ecuaciones.
Algoritmo de Lagrange
*
El contorno de una pieza mecnica tiene la forma que se muestra en la
figura. Usando los datos medidos de esta pieza (ver tabla), determinar
el polinomio interpolante respectivo.
Ejemplo: Polinomio de orden 6
Sheet1Puntox(cm)y(cm)12.2021.280.8830.661.14401.25-0.61.046-1.040.67-1.20Sheet10000000xyCam Profile0000000Sheet22.21.280.660-0.6-1.04-1.2xyCam Profile00.881.141.21.040.60Sheet3Chart12.21.280.660-0.6-1.04-1.2xyContorno00.881.141.21.040.60Sheet1Pointxy12.2021.280.8830.661.14401.25-0.61.046-1.040.67-1.20Sheet10000000xyCam Profile0000000Sheet22.21.280.660-0.6-1.04-1.2xyCam Profile00.881.141.21.040.60Sheet3Ejemplo: Polinomio de orden 6
Ejemplo: Polinomio de orden 6
Chart42.21.280.660-0.6-1.04-1.2xyContorno00.881.141.21.040.60Sheet1Pointxy12.2021.280.8830.661.14401.25-0.61.046-1.040.67-1.20Sheet10000000xyCam Profile0000000Sheet20000000xyCam Profile0000000Sheet3Algoritmo de Neville
Sean los puntos , el polinomio de interpolacin de orden
N-1 puede ser determinado a partir de la relacin recursiva
donde las cantidades con m = {1, N-1} subscripts son
polinomios de x de orden m-1 y dependen de Ps de menos ndices
El punto de partida de la relacin de recurrencia es:
Con el propsito de mejorar el algoritmo definimos las diferencias
hacia abajo (C) y hacia arriba (D)
con las relaciones de partida:
Usando estas definiciones y la frmula general de Neville se tiene:
Algoritmo de Neville
Algoritmo Optimizado de Neville:
Determinar el valor de ms cercano a x.
Si x>ix comenzamos por Pi y alternamos D y C para correcciones de mayor orden.
Cuando se usa un decremento D, decrecer el valor del ndice i en una unidad. El otro ndice siempre aumenta.
Si x
Notas sobre Extrapolacin
Se puede usar los algoritmos para interpolacin con unos
pequeos ajustes.
El punto a extrapolar no debe estar alejado ms que la distancia
tpica entre datos tabulados.
3. Para extrapolar al infinito, encontrar fi vs 1/xi y extrapolar hacia
el cero.
Interpolacin por Segmentos
Buscamos una polinomio interpolante P(x) para f(x)
que nos de una buena estimacin de f(x)
Oscilaciones polinmicas
Aumentar el grado del polinomio no es una buena idea
No siempre es el caso
Para la funcin error, polinomios de
alto grado, tienen error pequeo:
Una solucin al problema de oscilaciones es interpolar por segmentos:
Interpolacin por Segmentos
Interpolacin por Segmentos Cbicos
Consideremos el intervalo [xj , xj+1). Una interpolacin lineal nos da
donde
Construccin de un polinomio interpolante de tercer grado
Continua en las fronteras en su primera derivada.
La segunda derivada varia linealmente en cada intervalo.
Interpolacin por Segmentos Cbicos
Para determinar los coeficientes funcionales C y D usamos la segunda
condicin de la construccin del P.I.
que implica que se deben cumplir
estas condiciones se satisfacen si escogemos:
C y D son de primer orden!
Integrando las ecuaciones anteriores y usando las siguientes relaciones
para calcular las constantes de integracin
obtenemos los coeficientes
Interpolacin por Segmentos Cbicos
C(x) y D(x) no aportan en los extremos!
Esto nos da n-2 ecuaciones para las n segundas derivadas
desconocidas.
Las segundas derivadas de los datos primero y ltimo
quedan como parmetros.
Para calcular las segundas derivadas usamos la primera condicin
de la construccin del P.I.
donde
Luego tenemos:
Interpolacin por Segmentos Cbicos
donde
Las ecuaciones resultantes pueden escribirse matricialmente como
Interpolacin por Segmentos Cbicos
Esta ecuacin matricial puede resolverse usando el mtodo
tridiagonal.
Una vez calculadas las segundas derivadas se pueden usar estos resultados para realizar la interpolacin.
Interpolacin por Segmentos Cbicos
Interpolacin Cbica de Hermite
Informacin distante de una funcin no es de gran ayuda para aproximarla en una regn localizada, tal como lo muestran las oscilaciones polinmicas
Esto debe mejorar si se incluye mayor informacin, por ejemplo
si incluimos derivadas
Si tenemos dos puntos y sus derivadas, podemos usar un polino-
mio de orden 3:
Y determinar los coeficientes, requiriendo
Interpolacin Cbica de Hermite
El polinomio resultante y su derivada sern continuos, tenemos:
Si en vez de conocer la fucin y su derivada en 2 puntos, cono-
cemos estos datos en n puntos, podemos construir un polinomio
de orden 2n-1, continuo y con primera derivada continua.
Interpolacin General de Hermite
La solucin general se puede escibir usando dos polinomios que
los nombramos hn,j(x) y gn.j(x):
que a su vez se pueden escribir en terminos de los polinomios de
Lagrange y su primera derivada:
Interpolacin cbica de Hermite por segmentos
Si tenemos n puntos dados y no conocemos sus derivadas, usamos
la interpolacin de Hermite por segmentos.
Entre tres puntos consecutivos, usamos dos polinomios cbicos de
Hermite, y determinamos la derivada en el punto comn de la sgte.
manera:
Definamos el paso y la pendiente entre dos puntos como:
Interpolacin cbica de Hermite por segmentos
Si k y k+1 tienen signos opuestos definimos:
Si k y k+1 tienen el mismo signo y los intervalos tienen la misma
longitud, definimos:
Si k y k+1 tienen el mismo signo y los intervalos no tienen la misma
longitud, definimos
Interpolacin cbica de Hermite por segmentos
Las derivadas en los extremos se calculan usando frmulas
de tres puntos para las derivadas
FIG. Pendientes en la interseccin de dos puntos
(,()) /{1,}
iiii
PxyfxiN
==
i
P
11
(,)
xy
22
(,)
xy
33
(,)
xy
22
(,)
NN
xy
--
11
(,)
NN
xy
--
(,)
NN
xy
L
X
Y
()
fx
1
*{,,}
N
xxx
L
(*)
fx
*
i
xx
1
*{,,}
N
xxx
L
(,()) /{1,}
iiii
PxyfxiN
==
111
12
1
()
--
=
==+++
L
N
kN
kN
k
Pxaxaaxax
11
11211
11
21222
11
12
()
-
-
-
=+++
=+++
=
=+++
L
L
MM
L
N
N
N
N
ii
N
NNNN
yaaxax
yaaxax
yPx
yaaxax
21
11
111
21
22
222
21
33
333
21
1
1
1
1
-
-
-
-
=
L
L
L
MM
MMMOM
L
N
N
N
N
NN
NNN
ay
xxx
ay
xxx
ay
xxx
ay
xxx
1,
1
()()
-
=
=
N
NkNk
k
PxyLx
1,,
()
d
-
=
Nkiik
Lx
1
121
21
21
12
1221
()
xx
yyyy
xx
xxxx
yyy
xxxx
-
=+-
-
--
=+
--
2
1,1
2
12
1,11,121,2
1
1
1,2
21
()
()()()()
()
=
-
=
-
==+
-
=
-
kk
k
xx
Lx
xx
PxyLxyLxyLx
xx
Lx
xx
1,11,11,
1
()()()()
---
=
==++
L
N
NkNkNNNN
k
PxyLxyLxyLx
1
111
1,
111
1
()
()()()()
()
()()()()
()
=
-+
-
-+
=
-
----
==
----
-
LLL
LLL
N
j
j
jk
kkN
Nk
N
kkkkkkN
j
kj
jk
xx
xxxxxxxx
Lx
xxxxxxxx
xx
Puntox(cm)y(cm)
1
2.20
2
1.280.88
3
0.661.14
4
01.2
5
-0.61.04
6
-1.040.6
7
-1.20
Contorno
0
0.2
0.4
0.6
0.8
1
1.2
1.4
-2-10123
x
3567
24
1
121314151617
3567
14
2
212324252627
1
31
()
----
--
=
------
----
--
+
------
-
+
-
xxxxxxxx
xxxx
yxy
xxxxxxxxxxxx
xxxxxxxx
xxxx
y
xxxxxxxxxxxx
xx
xx
567
24
3
3234353637
3567
12
4
414243454647
12
515
---
--
-----
----
--
+
------
--
+
--
xxxxxx
xxxx
y
xxxxxxxxxx
xxxxxxxx
xxxx
y
xxxxxxxxxxxx
xxxx
xxxx
367
4
5
253545657
357
124
6
616263646567
3
12
61626
---
-
----
---
---
+
------
-
--
+
---
xxxxxx
xx
y
xxxxxxxx
xxxxxx
xxxxxx
y
xxxxxxxxxxxx
xx
xxxx
xxxxx
56
4
7
3646566
--
-
---
xxxx
xx
y
xxxxxxx
23
456
()1.20.251110.272560.56764
0.072010.452400.17103,1.202.20
yxxxx
xxxx
=+--
++--
Contorno
-1.2-0.20.81.8
x
y
11
12
22123
231234
33234
34
44
yP
P
yPP
PP
yPP
P
yP
=
=
=
=
/{1,}
i
xiN
=
,(1),,()
iiim
P
++
K
(1)(1)(1)(i2)()
(1)()
()()
+++-+++
++
+
-+-
=
-
LL
L
imiiimiiim
iiim
iim
xxPxxP
P
xx
()
ii
Pfx
=
1,1,
iiii
CyDy
==
,()(1)
,()(1)()
miiimiim
miiimiim
CPP
DPP
++-
+++
=-
=-
LL
LL
ix
xi
1,1,
1,
1
,1,
1,
1
()()
()()
immimi
mi
iim
imimi
mi
iim
xxCD
D
xx
xxCD
C
xx
+++
+
++
+
+
++
--
=
-
--
=
-
2
251
1
)(
x
xf
Table
: Six equidistantly spaced points in [
-
1, 1]
Figure
:
5
th
order polynomial vs. exact function
x
2
25
1
1
x
y
+
=
-
1.0
0.038461
-
0.6
0.1
-
0.2
0.5
0.2
0.5
0.6
0.1
1.0
0.038461
Original
Function
17
th
Order
Polynomial
9
th
Order
Polynomial
5
th
Order
Polynomial
2
0
2
()
x
t
erfxedt
p
-
=
1
()() [,){1,,1}
+
==-
K
iii
Pxqxxxxin
1
()
qx
2
()
qx
1
()
N
qx
-
2
()
N
qx
-
1
()()
jj
yAxyBxy
+
=+
1
11
() ()1
jj
jjjj
xxxx
AxBxA
xxxx
+
++
--
==-=
--
11
()()()()()
jjjj
yxAxyBxyCxyDxy
++
=+++
2
1
2
()
()()
jj
dyx
CxyDxy
dx
+
=+
1
1
()1()0
()0()1
jj
jj
CxCx
DxDx
+
+
==
==
()()()()
CxAxDxBx
==
32
1
1
6
32
1
1
6
()()
()()
jj
j
CAAxx
DBBxx
+
+
=--
=--
1
1
()0()0
()0()0
jj
jj
CxCx
DxDx
+
+
==
==
11
[,][,]
()()
jjjj
jj
xxxx
yxyx
-+
=
22
1
111
1
3131
()()
66
jj
jjjjjj
jj
yy
dyAB
xxyxxy
dxxx
+
+++
+
-
--
=--+-
-
2222
33333
44444
22222
1111
000
00
00
00
000
nnnnn
nnnn
bcyd
abcyd
abcyd
abcyd
abyd
-----
----
=
K
K
K
MMMOMMMM
K
K
1
0 2
3,,1
i
ii
i
a
xxin
-
=
=
-=-
K
1
2,,2
0 1
ii
i
xxin
c
in
+
-=-
=
=-
K
11
2()
iii
bxx
+-
=-
32
21
211
3221
11
11
112
1
112
6() 2
6 3,,2
6()
iiii
i
iiii
nnnn
nnn
nnnn
yy
yy
xxyi
xxxx
yyyy
din
xxxx
yyyy
xxyi
xxxx
+-
+-
---
-
---
-
-
---=
--
--
=-=-
--
--
---
--
K
1
n
=-
32
()
pxaxbxcxd
=+++
1122
1122
()()
()()
pxypxy
pxypxy
==
==
22
1221
12
22
1212
22
1221
12
22
1212
(12())()(12())()
()
()()
()()()()
()()
xxxxxxxx
pxyy
xxxx
xxxxxxxx
yy
xxxx
------
=+
--
----
++
--
,,
11
()()()
nn
njjnjj
jj
pxhxygxy
==
=+
2
,,,
()[12()()]()
njjnjjnj
hxxxLxLx
=--
2
,,
()()()
njjnj
gxxxLx
=-
1
1
kkk
kk
k
k
hxx
yy
h
d
+
+
=-
-
=
1
0
k
y
+
=
11
1111
()
2
kkk
y
dd
++
=+
11
1212
21
11
2
2
kk
kk
kkk
whh
wwww
whh
y
dd
+
+
++
=+
+
=+
=+