Vous êtes sur la page 1sur 14

POLINOMIO INTERPOLADOR DE

LAGRANGE

1.

Introducci
on

Este trabajo tiene el fin de estudiar la interpolacion la cual es un metodo para


hallar aproximaciones de una determinada funcion, las cuales las abscisas xk ,
se distribuyen en un intervalo [a, b] el matematico Frances Joseph Langrange
descubri
o que se puede encontrar el mismo polinomio utilizando un metodo distinto.
Para el polinomio interpolador se dispondra de una formula de error que permita ajustar la precisi
on del mismo.
Durante el desarrollo del trabajo avanzaremos en conceptos basico sobre estos dos metodos, con el proposito de introducir en el programa Matlab, el
cual permite obtener con mayor facilidad la aproximacion a diferentes funciones,incentivando a los estudiantes a la practica, y permitiendo ver la importancia
para desarrollar problemas de ingeniera, entre otros.

2.

Interpolaci
on

Supongamos que conocemos N+1 puntos (x0 , y0 ),(x1 , y1 ), . . . , (xN , yN ), de la


curva y = f (x), donde las abscisas xk se distribuyen en un intervalo [a, b] de
manera que
a x0 < x1 < ... < xN b
y
yk = f (xk )
Construiremos un polinomio P (x) de grado N que pasa por estos N + 1 puntos.
Para construirlo, u
nicamente necesitaremos conocer los valores xk e yk , as que
las derivadas de orden superior no nos haran falta. El polinomio P (x) puede
luego usarse como una aproximacion a f (x) en todo el intervalo [a, b] Existen
funciones especiales y = f (x) , que aparecen en analisis de tipo estadstico o
cientfico, para los que solo disponemos de una tabla de valores; es decir, solo
conocemos N + 1 puntos xk , yk y es necesario dar un metodo para aproximar
f(x) en abscisas que no est
an tabuladas. Si el error de los valores tabulados
es significativo, entonces es mejor usar los metodos de ajustes de curvas. Los
1

Polinomios se usan para dise


nar algoritmos de aproximacion de funciones , para
derivar e integrar numericamente y para dibujar, mediante un computador ,
curvas que deben pasar por puntos especificados de antemano.

3.

Interpolaci
on de Lagrange

Interpolar significa estimar el valor desconocido de una funcion en un punto,


tomando una medida ponderada de sus valores conocidos en puntos cercanos al
dado. En la interpolaci
on lineal- tambien conocida como la regla de tres simple
se utiliza un segmento rectilneo que pasa por dos puntos que se conocen. La
pendiente de la recta que pasa por dos puntos (x0 , y0 ) y (x1 , y1 ) viene dada
por m = (y1 y0 )/(x1 x0 ); as que en la ecuacion de la recta escrita como
y = m(x x0 ) + y0 podemos sustituir m y obtener
y = P (x) = y0 + (y1 y0 )

x x0
x1 x0

(1)

Si desarrollamos esta f
ormula, el resultado es un polinomio de grado menor o
igual que uno y la elevaci
on de P (x) en x0 y x1 produce y0 y y1 , respectivamente:
P (x0 ) = y0 + (y1 y0 )(0) = y0

(2)

P (x1 ) = y0 + (y1 y0 )(1) = y1

(3)

El matem
atico frances Joseph louis lagrange descubro que se puede encontrar
este polinomio usando un metodo ligeramente distinto. si escribimos:
y = P1 (x) = y0

x x1
x x1
+ y1
x0 x1
x0 x1

(4)

entonces cada uno de los sumandos del miembro derecho de esta relacion es un
termino lineal, por lo que su suma sera un polinomio de grado menor o igual
que uno. Denotemos los cocientes de (3) por
L1,0 (x) =

x x1
x0 x1

y L1,1 (x) =

x x1
x0 x1

(5)

Un sencillo calculo muestra que L1,0 (x0 ) = 1, L1,0 (x1 ) = 0, L1,1 (x0 ) = 0 y L1, 1(x1 ) =
1, as que el polinomio P1 (x) definido en (3) tambien pasa por los dos puntos
dados:
P1 (x0 ) = y0 + y1 (0) = y0 y P1 (x1 ) = y0 (0) + y1 = y1
Los terminos L1,0 = y0 (x)yL1,1 (x) definidos en (4) se llaman

(6)

polinomios

coeficientes de lagrange para los nodos x0 y x1 . Usando esta notacion, podemos escribir (3) como una suma
p1 (x) =

1
X

yk L1,k (x)

(7)

k=0

Cuando las ordenadas yk vienen dadas por yk = f (xk ), el proceso de


utilizar P1 (x) para aproximar f(x) en el intervalo [x0 , x1 ] se conoce
como el nombre de interpolaci
on lineal. Si x < x0 (o bien x1 < x),
entonces el uso de P1 (x) para aproximar f(x) se llama extrapolaci
on.

4.

Ejemplo 1
Consideremos la grafica y = f (x) = cos(x) en [0.0, 1.2].

(a) Vamos a usar los nodos x0 = 0.0 y x1 = 1.2 para construir


un polinomio de interpolacion lineal P1 (x).
(b) Vamos a usar los nodos x0 = 0.2 y x1 = 1.0 para construir un
polinomio de interpolacion lineal Q1 (x).
(a) La formula (3) con las abscisas x0 = 0.0 y x1 = 1.2 y las ordenadas y0 = cos(0.0) = 1.000000 e y1 = cos(1.2) = 0.362358, el
resultado es

P1 (x) = 1.000000

x 1.2
x 0.0
+ 0.362358
0.0 1.2
1.2 0.0

= 0.833333(x 1.2) + 0.301965(x 0.0).


(b) Cuando usamos los nodos x0 = 0.2 y x1 = 1.0 con los valores
y0 = cos(0.2) = 0.980067 e y1 = cos(1.0) = 0.540302, el resultado es

Q1 (x) = 0.980067

x 1.0
x 0.2
+ 0540302
0.2 1.0
1.0 0.2

1.225083(x 1.0) + 0.675378(x 0.2).


3

Las figuras (a) y (b) muestran la grafica de y = cos(x) junto con,


respectivamente, de y = P1 (x) e y = Q1 (x).
La grafica anterior muestra que (a)La aproximacion lineal y = P1 (x)
de y = cos(x) cuando los nodos x0 = 0.0 y x1 = 1.2 son los extremos
del intervalo [a, b]. (b) La aproximacion lineal y = Q1 de y = cos(x)
cuando los nodos x0 = 0.2 y x1 = 1.0 estan dentro del intervalo [a, b].
La forma de generalizar la formuala (6) para construir un polinomio
PN (x) Que tenga grado menor o igual que N y que pase por N + 1
puntos (x0 , y0 ), (x1 , y1 ), ..., (xN , yN ) es la formula
PN (x) =

N
X

yk LN,k (x)

(8)

k=0

donde LN,k es el polinomio coeficiente de Lagrange para los nodos


x0 , x1 , ..., xN definido por
LN,k (x) =

(x x0 )...(x xk1 )(x xk+1 )...(x xN )


(xk x0 )...(xk xk1 )(xk xk+1 )...(xk xN )

(9)

donde se sobrentiende que los factores (x xk ) y (xk xk ) no aparecen en el cociente del miembro derecho de la relacion (8). Resulta
comodo introducir en (8) la notacion compacta para el producto y
escribir
LN,k (x) =

N
Y
j=0, j6=k

x xj
xk xj

(10)

El polinomio interpolador de lagrange cuadratico para los puntos


(x0 , y0 ), (x1 , y1 ) y (x2 , y2 ) es
P2 (x) = y0

(x x1 )(x x2 )
(x x0 )(x x2 )
(x x0 )(x x1 )
+y1
+y2
(x0 x1 )(x0 x2 )
(x1 x0 )(x1 x2 )
(x2 x0 )(x2 x1 )
(11)

El polinomio interpolador de lagrange de grado N = 3 para los puntos (x0 , y0 ), (x1 , y1 ), (x2 , y2 ) y (x3 , y3 ) es
(x x1 )(x x2 )(x x3 )
(x x0 )(x x2 )(x x3 )
+y1
(x0 x1 )(x0 x2 )(x0 x3 )
(x1 x0 )(x1 x2 )(x1 x3 )
(12)
(x x0 )(x x1 )(x x3 )
(x x0 )(x x1 )(x x2 )
+y2
+y3
(x2 x0 )(x2 x1 )(x2 x3 )
(x3 x0 )(x3 x1 )(x3 x2 )

P3 (x) = y0

Basandonos en el ejemplo anterior los consideramos para un polinomio cuadratico y cubico como el siguiente:

5.

Ejemplo 2
Consideremos y = f (x) = cos(x) en [0.0, 1.2].

(a) Vamos a usar los tres nodos x0 = 0.0,x1 = 0.6 y x2 = 1.2


para construir el polinomio interpolador cudratico P2 (x).
(b) Vamos a usar los cuatros nodos x0 = 0.0,x1 = 0.4,x2 = 0.8 y
x3 = 1.2 para construir un polinomio interpolador cubico P3 (x).
(a) usando x0 = 0.0, x1 = 0.6 y x2 = 1.2 e y0 = cos(0.0) =
1.000000,y1 = cos(0.6) = 0.825336, y2 = cos(1.2) = 0.362358 en
la formula (12) obtenemos
(a)El polinomio interpolador cuadratico y = P2 (x) para los nodos
x0 = 0.0, x1 = 0.6, x2 = 1.2 y (b)El polinomio interpolador cubico
x0 = 0.0, x1 = 0.4, x2 = 0.8, x3 = 1.2

P2 (x) = 1.0

(x 0.6)(x 1.2)
(x 0.0)(x 1.2)
+ 0.825336
(0.0 0.6)(0.0 1.2)
(0.6 0.0)(0.6 1.2)
+0.362358

(x 0.0)(x 0.6)
(1.2 0.0)(1.2 0.6)

= 1.388889(x0.6)(x1.2)2.292599(x0.0)(x1.2)+0.503275(x0.0)(x.0.6)
(b) usando x0 = 0.0, x1 = 0.4, x2 = 0.8 y x3 = 1.2 e y0 = cos(0.0) =
1.000000,y1 = cos(0.4) = 0.921061, y2 = cos(0.8) = 0.696707,
y3 = cos(1.2) = 0.362358 en la formula (13) obtenemos
P3 (x) = 1.0

(x 0.4)(x 0.8)(x 1.2)


(x 0.0)(x 0.8)(x 1.2)
+0.921061
(0.0 0.4)(0.0 0.8)(0.0 1.2)
(0.4 0.0)(0.4 0.8)(0.4 1.2)

= 0.696707

(x 0.0)(x 0.4)(x 1.2)


(x 0.0)(x 0.4)(x 0.8)
+0.362358
(0.8 0.0)(0.8 0.4)(0.8 1.2)
(1.2 0.0)(1.2 0.4)(1.2 0.8)

= 2.604167(x0.4)(x0.8)(x1.2)+7.195789(x0.0)(x0.8)(x1.2)
= 5.443021(x0.0)(x0.4)(x1.2)+0.943641(x0.0)(x0.4)(x0.8)

6.

T
erminos y cotas del error

Es importante entender la naturaleza del termino del error que se


comete cuando se utiliza un polinomio interpolador de lagrange para
aproximar una funcion f (x). Este termino, como se vera enseguida,
es similar al termino del error para el polinomio de Taylor; el u
nico
N +1
cambio es que el factor (x x0 )
que all apareca se sustituye por
el producto (x x0 )(x x1 )...(x xN ), lo que resulta esperable ya
que la interpolacion es exacta en cada uno de los N + 1 nodos xk ,
donde se verifica que EN (xk ) = f (xk ) PN (xk ) = yk yk = 0 para
k = 0, 1, 2, ..., N .
Teorema (Polinomio interolador de lagrange)
Supongamos que f CN +1 [a, b] y que x0 , x1 , ..., xN [a,b] son N +1
nodos de interpolacion. Si x [a,b], entonces

f (x) = PN (x) + EN (x),

(13)

donde PN (x) es un polinomio que podemos usar para aproximar


f (x) :

f (x) PN (x) =

N
X

f (xk )LN,k (x),

(14)

k=0

llamado polinomio interpolador de lagrange de f para los nodos dados, y el termino de error EN (x) se puede escribir como

EN (x) =

(x x0 )(x x1 )...(x xN )f N +1 (c)


(N + 1)!

para alg
un c = c(x) del intervalo [a, b].

(15)

Demostraci
on Probaremos ahora a modo de ejemplo, la relacion
(15) cuando N = 1 y luego se discutira para el caso general Empezamos definiendo una funcion auxiliar g(t) de la siguiente manera
g(t) = f (t) P1 (t) E1 (x)

(t x0 )(t x1 )
.
(x x0 )(x x1 )

(16)

Hagamos notar que x, x0 y x1 son constantes con respecto a la variable t y, tambien, que g vale cero en estos tres puntos; esto es,
g(x) = f (x)P1 (x)E1 (x)

(x x0 )(x x1 )
= f (x)P1 (x)E1 (x) = 0,
(x x0 )(x x1 )

g(x0 ) = f (x0 )P1 (x0 )E1 (x0 )

(x0 x0 )(x0 x1 )
= f (x0 )P1 (x0 ) = 0,
(x x0 )(x x1 )

g(x1 ) = f (x1 )P1 (x1 )E1 (x1 )

(x1 x0 )(x1 x1 )
= f (x1 )P1 (x1 ) = 0.
(x x0 )(x x1 )

Supongamos, sin perdida de generalidad, que x esta en el intervalo


abierto (x0 , x1 ). Aplicando el teorema de Rolle a g(t) en el intervalo
[x0 , x], obtenemos un punto d0 con x0 < d0 < x, tal que
g 0 (d0 ) = 0.

(17)

Volviendo aplicar el teorema de Rolle a g(t) pero en el intervalo


[x, x1 ], obtenemos un punto d1 con x < d1 < x1 , tal que
g 0 (d1 ) = 0.

(18)

Las relaciones (17) y (18) prueban que la funcion g 0 (t) es cero en


t = d0 y t = d1 . Volviendo a usar el teorema de Rolle, pero esta vez
aplicado a g 0 (t) en [d0 , d1 ], obtenemos un valor c [a,b] tal que
g 00 (c) = 0.

(19)

volviendo a la relacion (16) y calculando las derivadas g 0 (t) y g 00 (t),

nos queda
g 0 (t) = f 0 (t) P10 (t) E1 (x)

g 00 (t) = f 00 (t) 0 E1 (x)

(t x0 )(t x1 )
,
(x x0 )(x x1 )

2
,
(x x0 )(x x1 )

(20)

(21)

Donde hemos usado el hecho de que, por ser P1 (t) es un polinomio de grado N = 1, su segunda derivada es P100 (t) 0. evaluando
la expresion (21) en el punto t = c y usando (19), se verifica

0 = f 00 (c) E1 (x)

2
,
(x x0 )(x x1 )

(22)

En donde podemos despejar E1 1(x) para obtener la expresion dada


en (15):

E1 (x) =

(x x0 )(x x1 )f (2) (c)


2!

Lo que completa la prueba.

(23)

7.

C
odigo en Matlab
DE LA LAGRANGE);
fprintf(INTERPOLACION
xi=input(Ingrese los puntos pertenecientes a las x: );
yi=input(Ingrese los puntos pertenecientes a las y: );
n=length(xi);
x=sym(x);
for j=1:n
producto=1;
for i=1:j-1
producto=producto*(x-xi(i));
end
producto2=1;
for i=j+1:n
producto2=producto2*(x-xi(i));
end
producto3=1;
for i=1:j-1
producto3=producto3*(xi(j)-xi(i));
end
producto4=1;
for i=j+1:n
producto4 = producto4*(xi(j)-xi(i));
end
L(j)=(producto*producto2)/(producto3*producto4);
end
pn=0;
for j=1:n
pn=pn+L(j)*yi(j);
end
fprintf(POLINOMIO INTERPOLANTE: )
pn = simple(pn);
disp(pn)
opc=input(Desea aproximar un valor (si/no): ,s);
if opc==si
x=input(Ingrese el punto a aproximar: );
y=eval(pn); disp(La aproximacion a f(x) es:)
disp(y)
end
10

8.

DIAGRAMA DE FLUJO

11

9.

Ejercicios Propuestos

Hallar el polinomio interpolador para los siguientes ejercicios y


aproxime en el punto dado, con el fin de observar el comportamiento
de las x en el eje y
Para la solucion de estos ejercicios solo es necesario conocer los valores que toman x en y, donde el algoritmo encontrara el polinomio
interpolador y pedira si desea interpolar un valor en x

Ejemplo
x = [2 7 9 11 15]
y = [4 8 4 6 9]
punto x = 5

INTERPOLACION "POLINIMIO DE LAGRANGE"

Ingrese los puntos pertenecientes a las x: [2 7 9 11 15]


Ingrese los puntos pertenecientes a las y: [4 8 -4 6 9]
POLINOMIO INTERPOLANTE:
- (17051*x^4)/262080 + (9569*x^3)/4160 (1028737*x^2)/37440 + (3640297*x)/29120 - 63845/416

Desea aproximar un valor (si/no): si


Ingrese el punto a aproximar: 5
\nLa aproximacion a f(x) es:
31.521062271062391

12

1)

x=[1 4 6]
y=[1.5709 1.5727 1.5751]
punto x= 3.6

2)

x=[4 5 6 8]
y=[-10.7568 -10.9589 -10.2794 -9.0106]
punto x= 12

3)

x=[1 3 4 7]
y=[2 7 9 15]
punto x= 6

4)

x=[2 4 7 9 12 15]
y=[4 6 9 12 11 3]
punto x= 5

5)

x=[-4 -1 0 2 5 7 9]
y=[-3 0 4 8 14 -5 4]
punto x= -3

13

10.

Bibliogr
afia

Metodos Numericos con Matlab- John H. Mathews, Kurtis D. Fink- tercera edicion

14

Vous aimerez peut-être aussi