You are on page 1of 37

Universidad Nacional Agraria La Molina

Facultad de Ingeniera Agrcola


Departamento de Recursos Hdricos

Anlisis Numrico para Ingeniera


(Aplicaciones con MATLAB)

Interpolacin Numrica

Jess Abel Meja Marcacuzco, Ph.D.


Lima - Per
INTERPOLACIN NUMRICA

INTRODUCCIN

Ajuste de curvas: A menudo se presentar la oportunidad de ajustar curvas en


un conjunto de datos representados por puntos. Las tcnicas que se han
desarrollado para este fin pueden dividirse en dos categoras generales:
regresin e interpolacin. La primera se emplea cuando hay un grado
significativo de error asociado a los datos; con frecuencia los datos
experimentales son de esta clase. Para estas situaciones, la estrategia es
encontrar una curva que represente la tendencia general de los datos sin
necesidad de tocar los puntos individuales. En contraste, la interpolacin se
maneja cuando el objetivo es determinar valores intermedios entre datos que
estn, relativamente libres al error. Para estas situaciones, la estrategia es
ajustar una curva directamente mediante los puntos y usar esta curva para
predecir valores intermedios.
Una funcin de interpolacin es aquella que pasa a travs de puntos dados
como datos, los cuales se muestran comnmente por medio de tabla de valores o
se toman directamente de una funcin dada. La interpolacin de los datos puede
hacerse mediante un polinomio, las funciones spline, una funcin racional o las
Series de Fourier, entre otras posibles formas.

La interpolacin polinomial (ajustar un polinomio a los puntos dados) es uno de


los temas ms importantes en mtodos numricos, ya que la mayora de los
modelos de integracin numrica se obtienen integrando las frmulas de
interpolacin polinomial y los modelos de diferenciacin numrica se obtienen
derivando las interpolaciones polinomiales.

Los datos obtenidos mediante una medicin pueden interpolarse, pero en la


mayora de los casos no es recomendable una interpolacin directa debido a los
errores aleatorios implicados en la medicin.
INTERPOLACIN LINEAL
La interpolacin lineal es la base para
varios modelos numricos fundamentales.
El gradiente de la interpolacin lineal es
una aproximacin a la primera derivada
de la funcin y da como resultado una
recta que se ajusta a dos puntos dados:

x1 x x x0
g ( x) f ( x0 ) f ( x1 ) Donde f(x0) y f(x1) son valores
x1 x0 x1 x0 conocidos de f(x) en x = x0 y x = x1
respectivamente.
1
El error de la interpolacin lineal se e( x) ( x x0 )( x x1 ) f ' ' ( ), x0 x1
puede expresar en la forma: 2
a) El error mximo aparece aproximadamente en el
f() puede aproximarse por f(xm), donde xm es
punto medio entre los datos dados.
el punto medio entre x0 y x1 : xm = (x0 + x1)/2. La b) El error aumenta cuando x1 - x0 crece.
ecuacin anterior indica entonces que: c) El error tambin se incrementa cuando |f| crece.
Ejemplo Numrico Las tablas 1 y 2 representan la temperatura de
Tabla 1
ebullicin de la acetona a diferentes presiones
250
Puntos 0 1 2 3 4 5 6
P(atm) 1 2 5 10 20 30 40 200

T(C) 56.5 78.6 113.0 144.5 181.0 205.0 214.5 150

100
Tabla 2
Puntos 0 1 2 3 50

P(atm) 1 5 20 40
0
T(C) 56.5 113.0 181.0 214.5 0 5 10 15 20 25 30 35 40 45

Calcular de la tabla 2 la temperatura a 2 atm de presin:

x1 x x x0 5 x x 1
g ( x) f ( x0 ) f ( x1 ) 56.5 113.0 42.375 14.125 x
x1 x0 x1 x0 5 1 5 1
Para x = 2 atm, se obtiene T = 70.6 C
Para una mejor aproximacin del valor de la temperatura buscada podran unirse
ms puntos de la tabla, por ejemplo tres puntos (0), (1) y (2). En este caso
tendremos un polinomio que es una parbola de la forma general siguiente:
g ( x) y a0 a1 x a2 x 2
Donde los parmetros a0 , a1 y a2 se determinan sustituyendo cada uno de los tres
puntos conocidos; es decir:

Resolviendo: a0 = 39.85
56.5 a0 a1 1 a2 12
a1 = 17.17
113 a0 a1 5 a2 5 2
a2 = -0.50482

181 a0 a1 20 a2 20 2

De tal forma que el polinomio queda: T 39.85 17.15 x 0.50482 x 2


As, si x = 2 atm, se obtiene: T = 72.1 C
Ejemplo: Suponga que una relacin funcional est dada en forma tabular como:

x y
0 0.9162
0.25 0.8109
0.50 0.6931
0.75 0.5596
1.00 0.4055

Encuentre los valores de x que satisfacen y = 0.9, 0.7, 0.6 y 0.5, respectivamente

Solucin:
INTERPOLACIN POLINMICA COMO SERIE DE POTENCIA
Uno de los mtodos fundamentales para
encontrar una funcin que pase a travs de datos
es el de usar un polinomio, como el mostrado en
la figura. La interpolacin polinomial se puede
expresar en varias formas alternativas. Entre
stas se encuentran las series de potencias, la
interpolacin de Lagrange y la interpolacin de
Newton hacia atrs y hacia delante.
Un polinomio de orden n que pasa a travs de n+1 puntos es nico. Esto significa
que, independientemente de la frmula de interpolacin, todas las interpolaciones
polinomiales que se ajustan a los mismos datos son matemticamente idnticas.
El polinomio de orden n que pasa por los n+1 puntos de
Para n+1 pares ordenados: datos puede escribirse como una serie de potencias:
x1 x2 x3 xn+1
y1 y2 y3 yn+1 g ( x) y c1 x n c2 x n1 c3 x n2 ... cn x cn1
Si hacemos g(xi) = yi para cada uno de x1n x1n 1 ... x1 1 c1 y1
n
los n+1 puntos de datos, obtenemos x2 x2n 1 ... x2 1 c 2 y 2
Ac y
n+1 ecuaciones lineales, que se . . ...
. 1 . .
expresan en notacin matricial como: n
x n 1 xnn11 ... x n 1 n 1 n 1
1 c y

Ejemplo: Determinar el polinomio que pasa por


los pares ordenados: (0,1), (1,0.75) y (2,0).
c1 (0) 2 c 2 (0) c3 1

Solucin: g ( x) y c1 x c2 x c3
2
c1 (1) 2 c 2 (1) c3 0.75

c
1 ( 2) 2
c 2 (2) c3 0
De la primera ecuacin se obtiene c3 = 1. De la segunda y la tercera ecuaciones
obtenemos c2 = 0 y c1 = -0.25. Por lo tanto el polinomio es:

g ( x) y 0.25x 1 2
Ejemplo: Para el conjunto de datos de (x,y):

x: 1.100 2.300 3.900 5.100


y: 3.880 4.276 4.651 2.117

encontrar los coeficientes del polinomio de interpolacin y determine el valor de y


para x = 2.101 y 4.234. Grafique el polinomio conjuntamente con los datos.

Solucin:

y c1 x 3 c2 x 2 c3 x c4

3.88 c1 1.13 c2 1.12 c3 1.1 c4 1.331c1 1.21c2 1.1c3 c4 3.880


4.276 c1 2.33 c2 2.32 c3 2.3 c4 12.167c1 5.29c2 2.3c3 c4 4.276
4.651 c1 3.93 c2 3.9 2 c3 3.9 c4 59.319c1 15.21c2 3.9c3 c4 4.651
2.117 c1 5.13 c2 5.12 c3 5.1 c4 132.651c1 26.01c2 5.1c3 c4 2.117
1.331c1 1.21c2 1.1c3 c4 3.880
Solucin mediante el mtodo: 12.167c1 5.29c2 2.3c3 c4 4.276
Eliminacin simple de Gauss 59.319c1 15.21c2 3.9c3 c4 4.651
Eliminacin hacia adelante 132.651c1 26.01c2 5.1c3 c4 2.117

Paso 1: Restar 12.167/1.331 veces la 1.3310c1 + 1.2100c2 + 1.1000c3 + 1.0000c4 = 3.8800


1ra de la segunda; restar 59.319/1.331 0 - 5.7709c2 - 7.7554c3 - 8.1412c4 = - 31.1920
veces la 1ra de la tercera y restar 0 - 38.7164c2 - 45.1240c3 - 43.5672c4 = - 168.2699
132.615/1.331 veces la 1ra ecuacin de 0 - 94.5818c2 - 104.5289c3 -98.6627c4 = -384.5741
la cuarta. La 1ra ecuacin es el pivote.

Paso 2: Restar -38.7164/-5.7709 1.3310c1 + 1.2100c2 + 1.1000c3 + 1.0000c4 = 3.8800


veces la segunda ecuacin de la 0 - 5.7709c2 - 7.7554c3 - 8.1412c4 = - 31.1920
tercera y -94.5818/-5.7709 veces la 0 +0 + 6.9059c3 + 11.0514c4 = 40.9939
segunda de la cuarta ecuacin. La 0 +0 + 22.5771c3 + 34.7676c4 = 126.6451
segunda ecuacin es el nuevo pivote.

Paso 3: Restar 22.5771/6.9059 1.3310c1 + 1.2100c2 + 1.1000c3 + 1.0000c4 = 3.8800


veces la tercera ecuacin de la 0 - 5.7709c2 - 7.7554c3 - 8.1412c4 = - 31.1920
cuarta ecuacin. El pivote 0 +0 + 6.9059c3 + 11.0514c4 = 40.9939
ahora es la tercera ecuacin. 0 +0 +0 - 1.3621c4 = -7.3734
Sustitucin hacia atrs
c4 = -7.3734/-1.3621 = 5.4133 y c1 x 3 c2 x 2 c3 x c4
c3 = (40.9939-11.0514c4)/6.9059 = -2.7267
c2 = (-31.1920+8.1412c4 +7.7554c3)/(-5.7709) = 1.4327
y 0.2010 x 3 1.4327 x 2 2.7267 x 5.4133
c1 = (3.88-1.0c4 -1.1c3-1.21c2)/1.331 = -0.2010 Para x = 2.101 y = 4.145
Para x = 4.234 y = 4.298
Clculo matricial con MATLAB
1.13 1.12 1.331 1.21 1.1 1 c1 3.880
1.1 1 c1 3.880
3 12.167 5.290 2.3 1 c2 4.276
y
2
y 3
2 . 3 2 . 3 2.3 1 c2 4.276
Ac = y
3.9 3.9 2 59.319 15.210
3.9 1 c3 4.651
3.9 1 c3 4.651
3 132.651 26.010 5.1 1 c4 2.117
5.1 5.1 5.1 1 c4 2.117
2

>> A=[1.331 1.21 1.1 1;12.167 5.29 2.3 1; >> c=A\y


>> y=[3.88;4.276;4.651;2.117]
59.319 15.21 3.9 1;132.651 26.01 5.1 1] c=
y=
A= -0.2009
3.8800
1.3310 1.2100 1.1000 1.0000 1.4326
4.2760
12.1670 5.2000 2.3000 1.0000 -2.7266
4.6510
59.3190 15.2100 3.9000 1.0000 5.4132
2.1170
132.6510 26.0100 5.1000 1.0000
Solucin de Interpolacin >> x=[1.1,2.3,3.9,5.1];
Polinmica con MATLAB >> y=[3.880,4.276,4.651,2.117];
>> coef=polyfit(x,y,length(x)-1)
>> xi=[2.101,4.234];
5
>> yi=polyval(coef,xi)
% Graficacin:
4.5 >> n=length(x)-1;
>> xp=1.1:0.05:5.1;
4 >> yp=zeros(size(xp));
datos:o

>> for k=1:n+1


3.5 >> yp=yp+coef(k)*xp.^(n+1-k);
g(x):-

>> end
3
>> plot(xp,yp,x,y,'o')
>> xlabel('x')
2.5
>> ylabel('g(x):- datos:o')
2
1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
x coef =
-0.2009 1.4326 -2.7266 5.4132
yi =
4.1451 4.3005
FRMULA DE INTERPOLACIN DE LAGRANGE
En la interpolacin polinmica los coeficientes ci se calculan resolviendo las
ecuaciones simultneas, dicho intento no es muy deseable porque se requiere de
un programa de cmputo que resuelva un conjunto de ecuaciones lineales y
porque la solucin quiz no sea muy precisa.
Con la frmula de interpolacin de Lagrange no hay necesidad de resolver
ecuaciones lineales e inclusive permiten la interpolacin para valores funcionales
que se expresan con smbolos porque no se conocen los valores numricos.
x x1 x x0 x x1 x x0
Partiendo de la interpolacin
g ( x) f ( x0 ) f ( x1 ) y0 y1
lineal (ecuacin de la recta) x0 x1 x1 x0 x0 x1 x1 x0
La ecuacin queda de la x x1 x x0
siguiente manera:
g ( x) L0 ( x) f ( x0 ) L1 ( x) f ( x1 ) con: L0 ( x)
x0 x1
L1 ( x)
x1 x0

L0 ( x0 ) 1 L1 ( x0 ) 0 g ( x0 ) 1 f ( x0 ) 0 f ( x1 ) f ( x0 ) y0
Observar que:
L0 ( x1 ) 0 L1 ( x1 ) 1 g ( x1 ) 0 f ( x0 ) 1 f ( x1 ) f ( x1 ) y1
A fin de generalizar el concepto de interpolacin lineal, consideremos la
construccin de un polinomio de grado mximo n que pase por los n+1 puntos.
En este caso para cada k = 0, 1, , n construimos una funcin Lk(x) con la
propiedad de que Lk(xi) = 0, cuando i k y Lk(xk) = 1. Para satisfacer Lk(xi) = 0 para
cada i k se requiere que el numerador de Lk(x) contenga el trmino

( x x0 )( x x1 )( x x2 )...( x xk 1 )( x xk 1 )...( x xn )
Para satisfacer Lk(xk) = 1, el denominador de Lk(x) debe ser este trmino pero
evaluado en x = xk; es decir:
( x x0 )( x x1 )...( x xk 1 )( x xk 1 )...( x xn ) n
( x xi )
Lk ( x)
( xk x0 )( xk x1 )...( xk xk 1 )( xk xk 1 )...( xk xn ) i 0 ( xk xi )
ik
El polinomio de Lagrange est dado por:
n
g ( x) L0 ( x) f ( x0 ) L1 ( x) f ( x1 ) L2 ( x) f ( x2 ) ... Ln ( x) f ( xn ) Lk ( x) f ( xk )
k 0
Por ejemplo para n = 3, el polinomio es:

( x x1 )( x x2 )( x x3 ) ( x x0 )( x x2 )( x x3 ) ( x x0 )( x x1 )( x x3 ) ( x x0 )( x x1 )( x x2 )
g ( x) y0 y1 y2 y3
( x0 x1 )( x0 x2 )( x0 x3 ) ( x1 x0 )( x1 x2 )( x1 x3 ) ( x2 x0 )( x2 x1 )( x2 x3 ) ( x3 x0 )( x3 x1 )( x3 x2 )

Ejemplo: Las densidades de un fluido para tres temperaturas estn dadas por:
i Temperatura (Ti) Densidad (i)
C Kg/m3 Escribir la frmula de interpolacin de Lagrange que
0 94 929 se ajuste a los tres datos y determinar la densidad
1 205 902 para T = 251 C.
2 371 806

Solucin: dado que el nmero de datos es tres, el orden de la frmula de Lagrange


es N=2. La interpolacin de Lagrange queda:
(T 205)(T 371) (T 94)(T 371) (T 94)(T 205)
g (T ) (929) (902) (806)
(94 205)( 94 371) (205 94)( 205 371) (371 94)( 371 205)

Sustituyendo T=251 en la ecuacin anterior, obtenemos: g ( 251) 890.5 Kg / m 3


El error de la frmula de interpolacin de Lagrange est dado por la frmula siguiente:

e( x) f ( x) g( x) L( x) f ( n1) ( ) x1 a b xn 1
donde n+1 es el nmero de datos, f(n+1) es la (n+1)-sima derivada de f(x) y

( x x1 )( x x2 ). . . ( x xn )( x xn 1 )
L( x )
( n 1)!
depende de x, pero est entre a y b. Si f(x) es un polinomio de orden n o menos, la
(n+1)-sima derivada de f(x) se anula de modo que el error es cero. Pero, para un
intervalo pequeo [a, b] en el que f(n+1)() se aproxima a una constante, la ecuacin
de error se escribe como:

e( x) L( x) f ( n 1) ( xm ) donde: xm es el punto medio entre los dos extremos del intervalo [a, b].

En una retcula con espaciamiento uniforme, la amplitud de oscilacin de L(x) es mnima en el centro del
rango de interpolacin, pero crece hacia los extremos. Al aumentar el tamao del rango de interpolacin
la amplitud de oscilacin crece rpidamente.
Ejemplo: Una tabla de valores para f(x)=Log10 (x) es la siguiente:
i xi f(xi)
0 1 0 Si la funcin se aproxima mediante la interpolacin
1 2 0.30103 de Lagrange que se ajusta a estos datos, estime
2 3 0.47712 los errores en x = 1.5, 2.5, 3.5.
3 4 0.60206

Solucin: La estimacin del error dada por:

( n 1) ( x 1)( x 2)( x 3)( x 4) f ' ' ' ' (2.5)


e( x ) L ( x ) f ( xm )
(4!)
4
d
log e ( x )
6
4

d dx
La cuarta derivada de f(x) es: f ' ' ' ' ( x ) log 10 ( x ) 4
dx log e (10) x log e (10)

x e(x) Exacto
As, se obtiene los siguientes e(x) para 1.5 0.0026 0.0053
x = 1.5, 2.5 y 3.5, los cuales se 2.5 -0.0015 -0.0021
comparan con los valores exactos: 3.5 0.0026 0.0026
Ejemplo: Desarrollar una funcin en Matlab para >> [C,L]=lagrange([2 4 6 7 8 9],[3 5 5 6 8 7])
encontrar el polinomio interpolador de Lagrange
que pasa por los puntos (2,3), (4,5), (6,5), (7,6), C=
(8,8) y (9,7) -0.0185 0.4857 -4.8125 22.2143 -46.6690 38.8000

function [C,L]=lagrange(X,Y) L=
% X es el vector de absisas -0.0006 0.0202 -0.2708 1.7798 -5.7286 7.2000
% Y es el vector de ordenadas 0.0042 -0.1333 1.6458 -9.6667 26.3500 -25.2000
% C es la matriz de coeficientes de interpolacion -0.0208 0.6250 -7.1458 38.3750 -94.8333 84.0000
polinomial 0.0333 -0.9667 10.6667 -55.3333 132.8000 -115.2000
% L es la matriz de los coeficientes polinomiales -0.0208 0.5833 -6.2292 31.4167 -73.7500 63.0000
w=length(X); 0.0048 -0.1286 1.3333 -6.5714 15.1619 -12.8000
n=w-1;
L=zeros(w,w); Se puede obtener la forma simblica del polinomio cuyos coeficientes
for k=1:n+1 son el vector C mediante la siguiente sintaxis MATLAB:
V=1;
for j=1:n+1 >> pretty(poly2sym(C))
if k~=j
V=conv(V,poly(X(j)))/(X(k)-X(j)); 31 5 1093731338075689 4 77 3 311 2 19601
end - ------ x + -------------------------- x - -- x + --- x - -------- x + 194/5
end 1680 2251799813685248 16 14 420
L(k,:)=V;
end
C=Y*L;
FRMULA DE INTERPOLACIN DE NEWTON

En esta seccin se analizarn las dos versiones de la interpolacin de Newton


(hacia delante y hacia atrs). Ambas son matemticamente equivalentes pero
representan expresiones distintas. Una puede ser ms conveniente que la otra,
dependiendo de cmo se aplique la frmula. Por ejemplo se prefiere la segunda al
obtener el mtodo predictorcorrector, puesto que todos los datos estn en posicin
hacia atrs. Sin embargo, al ajustar los datos dados en una tabla, a menudo es ms
conveniente la interpolacin de Newton hacia adelante.

Interpolacin de Newton hacia adelante

Suponiendo que las abscisas de los datos tienen igual separacin con un tamao de
intervalos h; los puntos se denotarn por (xi, fi). Para evaluar una frmula de
interpolacin de Newton hacia delante, son necesarios una tabla de diferencias
hacia delante y los coeficientes binomiales. Por lo tanto, primero definimos las
diferencias hacia adelante como:
0 f i f i Diferencia hacia adelante de orden 0
1 f i f i 1 f i Diferencia hacia adelante de orden 1
2 f i f i 1 f i Diferencia hacia adelante de orden 2
3 f i 2 f i 1 2 f i Diferencia hacia adelante de orden 3
.
k f i k 1 f i 1 k 1 f i Diferencia hacia adelante de orden k

La primera columna es el ndice de los Tabla de diferencias hacia adelante


datos, la segunda son las ordenadas de los
datos. La tercera columna lista las fi fi 2f i 3f i 4f i 5f i
diferencias de primer orden calculadas a 0 f0 f0 2f0 3f0 4f0 5f0
partir i de la segunda columna. La cuarta 1 f1 f1 2f1 3f1 4f1
columna muestra las diferencias de segundo
2 f2 f2 2f2 3f2
orden calculadas a partir de la columna
3 f3 f3 2f3
anterior, etc. Cada rengln proporciona un
conjunto de diferencias hacia delante de los 4 f4 f4
puntos correspondientes. 5 f5
Si fi = f(xi) (donde f(x) es un polinomio digamos de orden L, y los xi tienen igual
separacin), entonces la columna para la diferencia de orden L se convierte en una
constante y la (L+1) diferencia) se anula. Si esto ocurre, sabemos que los datos
pertenecen a un polinomio de orden L. Sin embargo, si una columna de diferencias
tiene uno o ms valores anormalmente grandes, es probable que existan algunos
errores humanos en el proceso de desarrollo de la tabla o en el conjunto de datos.
Los coeficientes binomiales estn dados por:
s s 1
1 s( s 1)( s 2)
0 3 3!

s
s
1
s 1 s 1
s ( s 1) s( s 1)( s 2)( s n 1)
2 2! n n!

s es definida por s = (x-xo)/h y h es el intervalo uniforme de la retcula.


La frmula de interpolacin de Newton s n
k

hacia adelante, que pasa por k+1 g ( x) g ( x0 sh) f 0


n 0 n
puntos f0, f1, f2, , fk, se escribe como:
s s 1
Por ejemplo, cuando k=2, se obtiene: g ( x0 sh) f 0 s f 1 f 0 f 2 2 f1 f 0
2

f 2 4 f1 3 f 0 sh 2 f 2 2 f1 f 0
Equivalente a: g ( x0 sh) f 0 sh
2h 2 h2

s 0: g ( x 0 ) g ( x 0 0) f 0
s 1: g ( x1 ) g ( x0 h ) f 0 f 0 f1
k
s n
g ( x 2 sh) f 2
s 2: g ( x2 ) g ( x0 2h ) f 0 2f 0 2 f 0 f 2 n 0 n

.
k ( k 1) 2
s ( x x2 ) h
sk: g ( xk ) g ( x0 kh) f 0 kf 0 f 0 ... f k
2
Ejemplo:
a) Desarrolle una tabla de diferencias hacia delante para los siguientes datos:
i 0 1 2 3 4 5 6
xi 0.1 0.3 0.5 0.7 0.9 1.1 1.3
f(xi) 0.99750 0.97763 0.93847 0.88120 0.80752 0.71962 0.62009

b) obtener los polinomios de a) i = 0, 1, 2 c) i = 2, 3, 4


interpolacin ajustados en: b) i = 0, 1, 2, 3, 4 d) i = 4, 5, 6

Solucin: La tabla de diferencias hacia delante es como sigue:


i xi fi fi 2fi 3fi 4fi 5fi 6fi
0 0.1 0.99750 -0.01987 -0.01929 0.00118 0.00052 -0.00003 -0.00006
1 0.3 0.97763 -0.03916 -0.01811 0.00170 0.00049 -0.00009
2 0.5 0.93847 -0.05727 -0.01641 0.00219 0.00040
3 0.7 0.88120 -0.07368 -0.01422 0.00259
4 0.9 0.80752 -0.08790 -0.01163
5 1.1 0.71962 -0.09953
6 1.3 0.62009
La interpolacin de Newton hacia adelante para los cuatro casos se obtiene utilizando
los valores de la fila correspondiente a i = 0, i =2 y i = 4 en la tabla de diferencias y
se escribe como:
0.01929 x x0
y 0.99750 0.01987 s s ( s 1) s
2 h

0.01929 0.00118 0.0052 x x0


y 0.99750 0.01987 s s( s 1) s( s 1)(s 2) s(s 1)(s 2)(s 3) s
2 6 24 h
0.01641 x x2
y 0.93847 0.05727 s s ( s 1) s
2 h
0.01163 x x4
y 0.80752 0.08790 s s ( s 1) s
2 h

El error del polinomio de interpolacin de e( x) f ( x) g ( x) L( x) f ( N 1) ( )


Newton es idntico al de la frmula de
interpolacin de Lagrange y se escribe como: x0 x N
Ejemplo:
Evaluar el error para el polinomio ajustado en i = 0, 1, 2, del ejemplo anterior, para
x = 0.2
Solucin:
El trmino adicional que proviene del ajuste de la interpolacin en i = 3 es:

0.00118
s ( s 1)( s 2)
6

Por lo tanto, al introducir s ( x x0 ) h ( x 0.1) 0.2 0.5 para x = 0.2, el error es

0.00118
e( x ) s ( s 1)( s 2) 7.4 x10 5
6
Interpolacin de Newton hacia atrs

El polinomio de interpolacin de Newton hacia atrs es otra frmula de uso frecuente


y se escribe en trminos de las diferencias hacia atrs y los coeficientes binomiales.
Considerando puntos con igual separacin x0, x-1, x-2, ... , x-k con espacio constante
igual a h = xi xi-1; las diferencias hacia atrs se definen como:

i fi fi 2fi 3fi 4fi 5fi


fi fi
0
Diferencia hacia atrs de orden 0
0 f0
1 f i f i f i 1 Diferencia hacia atrs de orden 1
1 f1 f1
f i f i f i 1
2
Diferencia hacia atrs de orden 2 2 f2 f2 2f2
3 f i 2 f i 2 f i 1 Diferencia hacia atrs de orden 3 3 f3 f3 2f3 3f3
. 4 f4 f4 2f4 3f4 4f4
k f i k 1 f i k 1 f i 1 Diferencia hacia atrs de orden k 5 f5 f5 2f5 3f5 4f5 5f5
Los coeficientes binomiales estn dados por:

s 1 s 2 1
1 ( s 2)( s 1) s
0 3 3!
s
s
1
s 1 1 s n 1 1
( s 1) s ( s n 1)( s n 2) ( s 1) s
2 2! n n!

El polinomio interpolador de Newton que pasa por los puntos x0, x-1, x-2, , x-k se
escribe como:
( x xi ) s n 1 n f i
s
h n
coordenada local coeficiente binomial diferencia hacia atrs
Ejemplo:
a) Desarrolle una tabla de diferencias hacia atrs para los siguientes datos:
i 0 1 2 3 4 5 6
xi 0.1 0.3 0.5 0.7 0.9 1.1 1.3
f(xi) 0.99750 0.97763 0.93847 0.88120 0.80752 0.71962 0.62009

b) obtener el polinomio de interpolacin que pasa por los puntos i = 3, 4, 5

Solucin: La tabla de diferencias hacia atrs es como sigue:


i xi fi fi 2f i 3f i 4f i 5f i 6f i
0 0.1 0.99750
1 0.3 0.97763 -0.01987
2 0.5 0.93847 -0.03916 -0.01929
3 0.7 0.88120 -0.05727 -0.01811 0.00118
4 0.9 0.80752 -0.07368 -0.01641 0.00170 0.00052
5 1.1 0.71962 -0.08790 -0.01422 0.00219 0.00049 -0.00003
6 1.3 0.62009 -0.09953 -0.01163 0.00259 0.00040 -0.00009 -0.00006
Debido a que el nmero de puntos es 3, el orden del polinomio es 2. El polinomio de
interpolacin de Newton hacia atrs, es en este caso:

2
s n 1 n 2 s 0
f 5 f 5 sf 5 s 1s2 f 5
1
g ( x) g ( xi sh)
n 0 n 2 ( x x5 )
s
h

Utilizando los valores de f5, f5 y 2f5 en las tablas de diferencias del ejemplo 9.8, la
ecuacin anterior se convierte en:

0.01422
g ( x) 0.71962 0.08790 s ( s 1) s
2

( x5 x) 0.01422 ( x5 x)( x4 x)
g ( x) 0.71962 0.08790
h 2 h2
Interpolacin de Newton dividida o con separacin no uniforme
El polinomio de interpolacin de Lagrange en una retcula con espaciamiento no uniforme se
puede expresar de manera equivalente en la forma de un polinomio de interpolacin de
Newton.
Denotemos al polinomio de interpolacin de Lagrange ajustando a x0, x1, x2,,xm como
P0,1,2,,m(x) y el ajustado a x1, x2,,xm+1 como P0,1,2,,m+1(x); entonces el polinomio ajustado a x0,
x1, x2,,xm+1 est dado por:

( x x0 ) P1, 2,..., m1 ( x) ( x m1 x) P0,1, 2,..., m ( x)


P0,1, 2,..., m 1 ( x)
x m1 x0
Si la ecuacin se desarrolla en una serie de potencias, el coeficiente del trmino de mayor orden se
llama coeficiente principal. Al aplicar esta regla, el coeficiente dominante de P0,1,2,,m+1 es f0,1,2,,m+1.
De manera similar, los coeficientes dominantes de P0,1,2,,m y P1,2,,m+1 son, respectivamente, f0,1,2,,m
y f1,2,,m+1. Mediante la inspeccin de la ecuacin, su coeficiente dominante para el lado izquierdo se
relaciona con los de los dos polinomios de interpolacin del lado derecho mediante:
f1, 2,..., m 1 f 0,1, 2,..., m
f 0,1, 2,..., m1
x m 1 x0
La ecuacin anterior es una diferencia dividida de orden m + 1, ya que est dada
por la diferencia de los coeficientes dominantes de orden m dividida entre la distancia
de los puntos ms exteriores. Por medio de esta ecuacin, se puede calcular en forma
recursiva los coeficientes dominantes, a partir de una tabla de valores como se
muestra de manera simblica en la tabla siguiente y por medio de la diferencia, se
puede obtener un polinomio de interpolacin, por ejemplo para Pa,b,c,,d como:

Pa ,b ,c ,..., j ( x) f a f a ,b ( x xa ) f a ,b ,c , ( x xa )( x xb ) ... f a ,b ,c ,..., j ( x xa )( x xb )( x xc )...( x x j 1 )

El error de la interpolacin se evala de la misma forma que la interpolacin hacia


adelante o hacia atrs, es decir, el error es:

e( x) f a,b,c,..., j , j 1 ( x xa )( x xb )( x xc )...( x x j )
Tabla de diferencias divididas

x0 f0
f1 f 0
x1 f1 f1,0
x1 x0
f 2 f1 f 2,1 f1, 0
x2 f2 f 2,1 f 2,1, 0
x2 x1 x 2 x0
f3 f2 f 3,2 f 2,1 f 3,2,1 f 2,1,0
x3 f 3 f 3, 2 f 3,2,1 f 3,2,1,0
x3 x 2 x3 x1 x3 x0
f4 f3 f 4,3 f 3,2 f 4,3, 2 f 3, 2,1 f 4,3,2,1 f 3,2,1,0
x4 f4 f 4,3 f 4,3,2 f 4,3, 2,1 f 4,3,2,1,0
x 4 x3 x4 x2 x4 x1 x 4 x0
Ejemplo:
a) Elaborar la tabla de diferencias divididas a partir de los datos de xi y fi mostrados en la tabla.
b) Escribir la frmula de interpolacin utilizando la tabla de diferencias divididas para los puntos i = 0
hasta 6; evaluar los polinomios de interpolacin en x = 0.3 y x = 0.55 y estimar los errores de
interpolacin
c) Escribir la frmula de interpolacin utilizando la tabla de diferencias divididas para los puntos i = 2
hasta 4; evaluar los polinomios de interpolacin en x = 0.3 y x = 0.55 y estimar los errores de
interpolacin
Solucin:
a) Tabla de diferencias divididas

i xi fi fi,i+1 fi,,i+2 fi,,i+3 fi,,i+4 fi,,i+5 fi,,i+6


0 0.1 0.99750
1 0.2 0.99002 -0.07480
2 0.4 0.96040 -0.14810 -0.24433
3 0.7 0.88120 -0.26400 -0.23180 0.02089
4 1.0 0.76520 -0.38667 -0.20444 0.03419 0.01478
5 1.2 0.67113 -0.47035 -0.16737 0.04635 0.01215 -0.00239
6 1.3 0.62009 -0.51040 -0.13350 0.05644 0.01122 -0.00085 0.00129
b) El polinomio ajustado de i = 0 hasta 6 es:
P0,1, 2,3, 4,5 ( x) 0.99750 0.07480x 0.1 0.24433x 0.1x 0.2
0.02089x 0.1x 0.2x 0.4 0.01478x 0.1x 0.2x 0.4x 0.7
0.00239x 0.1x 0.2x 0.4x 0.7 x 1
La estimacin del error
e 0.00129x 0.1x 0.2x 0.4x 0.7 x 1x 1.2
de interpolacin es:

xi P(x) Error estimado


Los resultados de clculo
0.3 0.97762 0.000000617
se muestran a continuacin:
0.55 0.92580 -0.000000126

c) El polinomio ajustado de i = 2 hasta 4 es:

P1, 2,3, 4 ( x) 0.96040 0.26400x 0.4 0.20444x 0.4x 0.7

La estimacin del error de interpolacin es: Resultados de xi P(x) Error estimado

e 0.04635x 0.4x 0.7 x 1


clculo: 0.3 0.97862 -0.00130
0.55 0.92540 0.00047
Para los valores de f(x) = 1/x, correspondiente a los puntos x = 2, 2.75 y 4 obtener el
polinomio de interpolacin de Lagrange y calcule f(x).

Para los siguientes datos, establecer la tabla de diferencias divididas y el polinomio


de interpolacin respectivo:
i x f(x)
0 1.0 0.76520
1 1.3 0.62009
2 1.6 0.45540
3 1.9 0.28182
4 2.2 0.11036
Cdigos en Matlab para interpolacin de Lagrange y Diferencias Divididas

P=[1 5 20 40];
T=[56.5 113 181 214.5];
Xi=2;
Yi=interpl(P,T,xi)
Yi=interpl(P,T,xi, cubic)
Yi=interpl(P,T,xi, spline)

You might also like