Interpolcaion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 29

Interpolación

Interpolación de polinomios
• Formula general para un polinomio
f ( x ) = a0 + a1 x + a2 x 2 + K + an x n

• Para n+1 puntos, hay uno y sólo un polinomio de orden n que pasa
a través de todos los puntos
– Polinomio de primer orden (línea recta) Æ conecta dos puntos
– Polinomio de segundo orden (parábola) Æ conecta tres puntos

• La interpolación polinomial consiste en determinar el único


polinomio de n-ésimo orden que ajuste n+1 puntos

• Luego este polinomio permite calcular valores intermedios

• Existen dos formas matemáticas de expresar este polinomio


1. Polinomio de Newton
2. Polinomio de Lagrange
Diferencia finita de Newton para la
interpolación de polinomios
• Interpolación lineal: realiza la estimación entre dos puntos con una
línea recta

mediante triángulos semejantes


f(x1)
fˆ1 ( x ) − f ( x0 ) f ( x1 ) − f (x0 )
= f1(x)
x − x0 x1 − x0
f(x0)
f ( x1 ) − f (x0 )
fˆ1 (x ) = f ( x0 ) + ( x − x0 )
x1 − x0 x0 x x1
otra forma
fˆ1 ( x ) = b0 + b1 ( x − x0 )
Si x = x0 Æ b0 = f ( x0 )
Si x = x1 Æ b = f ( x1 ) − f ( x0 ) Æ Aproximación por diferencias finitas de la
x1 − x0
1
primera derivada
Diferencia finita de Newton para la
interpolación de polinomios
• Interpolación cuadrática: si tres puntos de los datos están
disponibles se puede ajustar un polinomio de 2do grado

fˆ2 ( x ) = b0 + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 )

Si x = x0 Æ b0 = f ( x0 )

f ( x1 ) − f ( x0 ) Æ Aproximación por diferencias finitas de la


Si x = x1 Æ b1 =
x1 − x0 primera derivada

f ( x2 ) − f ( x1 ) f ( x1 ) − f ( x0 )
− Æ Aproximación por
x2 − x1 x1 − x0 diferencias finitas de la
Si x = x2 Æ b2 =
x2 − x0 2da derivada
Forma general de la interpolación de
polinomios de Newton
• Para ajustar un polinomio de n-ésimo orden a n+1 datos

f n (x ) = b0 + b1 (x − x0 ) + K + bn (x − x0 )( x − x1 )K ( x − xn −1 )

los coeficientes son:


b0 = f (x0 ) Æ Donde las evaluaciones de la función
b1 = f [x1 , x0 ]
entre corchetes son diferencias finitas
divididas
b2 = f [x2 , x1 , x0 ]

bn = f [xn , xn −1 , K , x1 , x0 ]
Forma general de la interpolación de
polinomios de Newton
• La primera diferencia finita se representa como
f ( xi ) − f (x j )
[ ]
f xi , x j =
xi − x j
• La segunda diferencia finita, como la diferencia de las dos primeras

[ ]
f xi , x j , xk =
[ ] [
f xi , x j − f x j , xk ]
xi − xk
• La n-ésima diferencia finita es
f [xn , xn −1 ,K, x1 ] − f [xn −1 ,K , x1 , x0 ]
f [xn , xn −1 , K, x1 , x0 ] =
xn − x0

• Nótese, que no es necesario que los datos estén igualmente


espaciados, o que los valores de la abcisa estén en orden
ascendente
Forma general de la interpolación de
polinomios de Newton
• Ejemplo: Utilice un polinomio de 2

Newton de 3er orden para


interpolar el valor en x = 2 1.5

x y=ln(x) Y_int Ea
0.5

y
1 0 0 - funcion original
puntos de la muestra
4 1.38629 0.46209 0.46209 0 Polinomio de Newton

6 1.79175 0.56584 0.10374


-0.5
5 1.60943 0.62876 0.06292
-1
0 1 2 3 4 5 6
x

f 3 ( x ) = 0 + 0.4621( x − x0 ) − 0.0519( x − x0 )( x − x1 ) + 0.0079( x − x0 )( x − x1 )( x − x2 )

f 3 ( x ) = 0 + 0.4621(2 − 1) − 0.0519(2 − 1)(2 − 4 ) + 0.0079(2 − 1)(2 − 4 )(2 − 6 ) = 0.62876


Error de la interpolación con polinomios
de Newton
• El polinomio de Newton de orden n es de la forma

f n (x ) = f (x0 ) + f [x1 , x0 ]( x − x0 ) + K + f [xn , xn −1 , K , x0 ]( x − x0 )(x − x1 )K ( x − xn −1 )

• La estructura del polinomio de Newton es similar a la de la serie de


Taylor
f n ( xi )
f ( xi +1 ) = f ( xi ) + f ' ( xi )( xi +1 − xi ) + K + (xi +1 − xi )n + Rn
n!
• De manera similar al caso de la serie de Taylor se puede obtener
una formulación para el error de los polinomios de Newton
– Para la serie de Taylor f (n +1) (ξ )
Rn = (xi +1 − xi )n +1
(n + 1)!
– Para polinomio de newton de orden n
f (n +1) (ξ )
Rn = (x − x0 )(x − x1 )K (x − xn )
(n + 1)!
Error de la interpolación con polinomios
de Newton
• Una formulación alternativa está disponible y no requiere el
conocimiento de la función
Rn = f [x, xn , xn −1 , K , x0 ]( x − x0 )( x − x1 )K (x − xn )

• Esta formula no puede resolverse porque contiene la incógnita f(x),


sin embargo, si se dispone de un dato adicional puede usarse para
estimar el error
Rn ≅ f [xn +1 , xn , xn −1 , K , x0 ]( x − x0 )( x − x1 )K ( x − xn )

• El error estimado para el polinomio de n-ésimo orden es equivalente


a la diferencia entre la estimación de (n+1)-ésimo orden y la de
n-ésimo orden

Rn = f n +1 ( x ) − f n ( x )
Seudo código para el método de
interpolación por polinomios de Newton
SUBROUTINE NewtInt (x,y,n,xi,yint,ea)
LOCAL fddn,n
DO i = 0, n
Fddi,0= yi
END DO
DO j = 1, n
DO i = 0, n-j
fddi,j = (fddi+1,j – fddi,j-1)/(xi+j – xi)
ND DO
END DO
xterm = 1
yint0 = fdd0,0
DO order = 1, n
xterm = xterm*(xi – xorder-1)
yint2 = yintorder-1 + fdd0,order*xterm
eaorder-1 = yint2 –yintorder-1
yintorder = yint2
END DO
END NewtInt
Interpolación de polinomios de Lagrange
• Este método es una reformulación del polinomio de Newton que
evita el cálculo por diferencias finitas
• Los polinomios de Lagrange se pueden expresar como
n
f n ( x ) = ∑ Li ( x ) f ( xi )
i =0

n x − xj
donde, Li ( x ) = ∏
j =0 xi − x j
j ≠i

x − x1 x − x0
• Polinomio de orden n = 1 Æ f1 ( x ) = f ( x0 ) + f ( x1 )
x0 − x1 x1 − x0

• Polinomio de orden n = 2

( )
f2 x =
( x − x1 )( x − x2 )
( )
f x0 +
( x − x0 )( x − x2 )
( )
f x1 +
( x − x0 )( x − x1 )
f ( x2 )
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Interpolación de polinomios de Lagrange

• La estimación del error en la interpolación con los polinomios de


Lagrange esta dada por
n
Rn = f [x, xn , xn −1 , K , x0 ]∏ ( x − xi )
i =0

• Sin embargo, como este método no usa las diferencias finitas, no es


práctico hacer este cálculo

• Por eso se prefiere usar polinomios de Lagrange cuando se conoce


a priori el orden del polinomio

• Y se usan los polinomios de Newton para cálculos exploratorios, ya que


este método proporciona información respecto al comportamiento de los
polinomios de diferente orden
Seudo código para el método de
interpolación por polinomios de Lagrange

FUNCTION Lagrng(x,y,n,x)
sum = 0
DO i = 0, n
product = yi
DO j = 0, n
IF i ~= j THEN
product = product*(x – xj)/(xi – xj)
END IF
END DO
sum = sum + product
END DO
Lagrng = sum
END Lagrng
Coeficientes de un polinomio de
interpolación
• Un método directo para calcular los coeficientes de un polinomio de
interpolación
f ( x ) = a0 + a1 x + a2 x 2 + K + an x n

se basa en el hecho de que n+1 puntos se requieren para


determinar los n+1 coeficientes

• Se puede usar la solución de un sistema de ecuaciones algebraicas


simultáneas para calcular los coeficientes
Coeficientes de un polinomio de
interpolación
• Por ejemplo, se quiere calcular los coeficientes de
f ( x ) = a0 + a1 x + a2 x 2

Se requieren tres puntos (x0,f(x0)), (x1,f(x1)) y (x2,f(x2)), sustituyendo


cada uno en el polinomio para dar
f ( x0 ) = a0 + a1 x0 + a2 x0
2

f ( x1 ) = a0 + a1 x1 + a2 x1
2

f ( x2 ) = a0 + a1 x2 + a2 x2
2

• Se debe tener precaución con el orden


• Los sistemas como estos están notoriamente mal condicionados
• Los coeficientes pueden ser altamente inexactos, en particular para
n grandes
Interpolación segmentaria (SPLINES)
• En la sección anterior se usó polinomios de n-ésimo orden para
interpolar n+1 puntos
• Esta curva podría capturar todas las curvaturas sugeridas por los
puntos
• Hay casos en los que estas funciones pueden llevar a resultados
erróneos debido a errores de redondeo y puntos lejanos
• Una alternativa es aplicar polinomios de orden inferior a
subconjuntos de datos
• A estos se les llama funciones segmentarias
• Estas se pueden construir de tal forma que las conexiones entre las
ecuaciones cúbicas adyacentes resultan visualmente suaves
Segmentarias cuadráticas
• Para asegurar que las derivadas m-ésimas sean continuas en los
nodos, se debe usar una segmentaria del al menos m+1 orden

• En la práctica se usan con más frecuencia segmentarias cúbicas


para asegurar derivadas continuas de 1ro y 2do orden

• El objetivo de las segmentarias cuadráticas es obtener un polinomio


de 2do orden para cada intervalo i entre datos

f i ( x ) = ai x 2 + bi x + ci
Segmentarias cuadráticas
• Para n+1 datos (i = 0,1,2,…n)
existen n intervalos
• En consecuencia , 3n constantes a3 x 2 + b3 x + c3
a1 x 2 + b1 x + c1
desconocidas (a, b y c)
a2 x 2 + b2 x + c2
• Se requieren 3n ecuaciones:
1. Los valores de la función de f ( x1 )
polinomios adyacentes deben ser f ( x0 ) f ( x3 )
f ( x2 )
iguales a los nodos interiores
ai −1 xi −1 + bi −1 xi −1 + ci −1 = f ( xi −1 )
2

Intervalo Intervalo Intervalo


ai xi −1 + bi xi −1 + ci = f ( xi −1 )
2
1 2 3

para i = 2 a n
x0 x1 x2 x3
Como solo se usan para puntos i=0 i=1 i=2 i=3
interiores, da un total de 2n-2
ecuaciones
Segmentarias cuadráticas
2. Las 1ra y ultima funciones deben
pasar por los puntos extremos
a1 x0 + b1 x0 + c1 = f ( x0 )
2
a1 x 2 + b1 x + c1 a3 x 2 + b3 x + c3
an xn + bn xn + cn = f ( xn )
2

a2 x 2 + b2 x + c2
2 ecuaciones adicionales
f ( x1 )
3. Las 1ras derivadas en los nodos
f ( x0 ) f ( x3 )
interiores deben ser iguales f ( x2 )
f ' ( x ) = 2ax + b
2ai −1 xi −1 + bi −1 = 2ai xi −1 + bi Intervalo Intervalo Intervalo
1 2 3

para i = 2 a n
n-1 ecuaciones x0 x1 x2 x3
i=0 i=1 i=2 i=3
Para un total de 2n-2 + 2 + n-1 = 3n-1

Falta una ecuación!!


Segmentarias cuadráticas
A menos que se tenga información
adicional acerca de la función o sus
derivadas, se debe tomar una
selección arbitraria para calcular las a1 x 2 + b1 x + c1 a3 x 2 + b3 x + c3
constantes
a2 x 2 + b2 x + c2

4. Suponga que en el 1er punto la f ( x1 )

2da derivada es cero f ( x0 ) f ( x3 )


f ( x2 )

f ' ' ( x ) = 2ai → a1 = 0


Intervalo Intervalo Intervalo
1 2 3
lo que indica que los dos primeros
puntos se conectan con una línea x0 x1 x2 x3
recta i=0 i=1 i=2 i=3
Segmentarias cuadráticas
3

Ejemplo: Ajustar por 2.5

segmentarias cuadráticas los


datos de la tabla. Interpole el 2

valor en x = 5

f(x)
1.5

x f(x)
1
3 2.5
4.5 1.0 0.5

7 2.5
0
0 1 2 3 4 5 6 7 8 9 10
9 0.5 x

20.25a1 + 4.5b1 + c1 = 1.0


1. Los valores de la función de polinomios 20.25a2 + 4.5b2 + c2 = 1.0
adyacentes deben ser iguales a los nodos
interiores 49a2 + 7b2 + c2 = 2.5
49a3 + 7b3 + c3 = 2.5
Segmentarias cuadráticas
3

Ejemplo: Ajustar por 2.5

segmentarias cuadráticas los


datos de la tabla. Interpole el 2

valor en x = 5

f(x)
1.5

x f(x)
1
3 2.5
4.5 1.0 0.5

7 2.5
0
0 1 2 3 4 5 6 7 8 9 10
9 0.5 x

2. Las 1ra y ultima funciones deben pasar por los


puntos extremos
9a1 + 3b1 + c1 = 2.5
81a3 + 9b3 + c3 = 0.5
Segmentarias cuadráticas
3

Ejemplo: Ajustar por 2.5

segmentarias cuadráticas los


datos de la tabla. Interpole el 2

valor en x = 5

f(x)
1.5

x f(x)
1
3 2.5
4.5 1.0 0.5

7 2.5
0
0 1 2 3 4 5 6 7 8 9 10
9 0.5 x

3. Las 1ras derivadas en los nodos interiores 4. Suponga que en el 1er punto la 2da
deben ser iguales derivada es cero

9a1 + b1 = 9a2 + b2 a1 = 0
14a2 + b2 = 14a3 + b3
Segmentarias cuadráticas
Ejemplo: El problema se reduce a
resolver un sistema de
ecuaciones lineales

20.25a1 + 4.5b1 + c1 = 1.0 ⎡4.5 1 ⎤ ⎧ b1 ⎫ ⎧ 1 ⎫


20.25a2 + 4.5b2 + c2 = 1.0 ⎢ 20 .25 4 .5 1 ⎥⎪ c ⎪ ⎪ 1 ⎪
⎢ ⎥⎪ 1 ⎪ ⎪ ⎪
49a2 + 7b2 + c2 = 2.5 ⎢ 49 7 1 ⎥ ⎪a2 ⎪ ⎪2.5⎪
49a3 + 7b3 + c3 = 2.5 ⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢ 49 7 1 ⎥ ⎪b2 ⎪ = ⎪2.5⎪
9a1 + 3b1 + c1 = 2.5 ⎢3 1 ⎥ ⎨ c2 ⎬ ⎨2.5⎬
81a3 + 9b3 + c3 = 0.5 ⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢ 81 9 1⎥ ⎪a3 ⎪ ⎪0.5⎪
9a1 + b1 − 9a2 − b2 = 0 ⎢1 −9 −1 ⎥ ⎪b ⎪ ⎪ 0 ⎪
⎢ ⎥⎪ 3 ⎪ ⎪ ⎪
14a2 + b2 − 14a3 − b3 = 0 ⎣⎢ 14 1 − 14 − 1 ⎦⎥ ⎪⎩ c3 ⎪⎭ ⎪⎩ 0 ⎪⎭
a1 = 0
Segmentarias cuadráticas
5
Ejemplo: Resolviendo el sistema
4.5
de ecuaciones se obtiene
4

a1 = 0 b1 = −1 c1 = 5.5 3.5

a2 = 0.64 b2 = −6.76 c2 = 18.46 3

f(x)
a3 = −1.6 b3 = 24.6 c3 = −91.3
2.5

1.5
Las cuales pueden sustituirse en las
ecuaciones cuadráticas originales para 1

determinar la ecuación para cada intervalo 0.5

f1 ( x ) = − x + 5.5 3 ≤ x ≤ 4.5
0
0 1 2 3 4 5 6 7 8 9 10
x
f 2 (x ) = 0.64 x 2 − 6.76 x + 18.46 4.5 ≤ x ≤ 7
f 3 ( x ) = −1.6 x 2 + 24.6 x + 91.3 7≤ x≤9

f 2 (5) = 0.64(5) − 6.76(5) + 18.46 = 0.66


2
Segmentarias cúbicas

• El objetivo de las segmentarias cúbicas es obtener un polinomio


de 3er orden para cada intervalo entre los puntos

f i ( x ) = ai x 3 + bi x 2 + ci x + d i

• Para n+1 datos (i=0,1,2,…,n) existen n intervalos, 4n incógnitas


constantes para evaluar

• Se requieren 4n ecuaciones para evaluar las incógnitas


Segmentarias cúbicas

1. Los valores de la función deben ser iguales en los puntos


interiores
(2n-2) ecuaciones
2. Las primera y última funciones deben pasar por los puntos
extremos (2 ecuaciones)
3. Las 1ras derivadas en los puntos interiores deben ser iguales (n-1
ecuaciones)
4. Las 2das derivadas en los puntos interiores deben ser iguales (n-1
ecuaciones)
5. Las 2das derivadas en los puntos extremos son cero (2
ecuaciones)
2n – 2 + 2 + n -1 + n – 1 + 2 = 4n

La última condición indica que la función se vuelve una línea recta en


los puntos extremos
Segmentarias cúbicas

• Existe una técnica alterna que requiere sólo la solución de n-1


ecuaciones
• Se basa en que la 2da derivada dentro de cada intervalo es una
línea recta y se obtiene la siguiente ecuación cúbica para cada
intervalo
f ' ' ( xi −1 )
f i (x ) = (xi − x )3 + f ' ' (xi ) (x − xi −1 )3
6( xi − xi −1 ) 6( xi − xi −1 )
⎡ f (xi −1 ) f ' ' ( xi −1 )( xi − xi −1 ) ⎤
+⎢

− ⎥ ( xi − x )
⎣ i i −1
x x 6 ⎦
⎡ f ( xi ) f ' ' ( xi )( xi − xi −1 )⎤
+⎢

− ⎥ ( x − xi −1 )
⎣ i i −1
x x 6 ⎦

• Esta ecuación tiene dos incógnitas, las 2das derivadas en los


extremos de cada intervalo f ' ' (xi −1 ), f ' ' (xi )
Segmentarias cúbicas

• Estas incógnitas se pueden evaluar mediante la siguiente ecuación

(xi − xi −1 ) f ' ' (xi −1 ) + 2(xi +1 − xi −1 ) f ' ' (xi ) + (xi +1 − xi ) f ' ' (xi +1 ) = 6
[ f (xi +1 ) − f (xi )] + 6 [ f (xi −1 ) − f (xi )]
xi +1 − xi xi − xi −1

• Si esta ecuación es descrita para todos los nodos interiores, resulta


n-1 ecuaciones simultáneas con n-1 incógnitas (porque las 2das
derivadas en los puntos extremos son cero Æ segmentaria natural)

• Además, el sistema de ecuaciones será tridiagonal Æ se puede


usar el algoritmo de Thomas (TDMA)

También podría gustarte