Académique Documents
Professionnel Documents
Culture Documents
LAGRANGE
1.
Introducci
on
2.
Interpolaci
on
3.
Interpolaci
on de Lagrange
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)
(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
4.
Ejemplo 1
Consideremos la grafica y = f (x) = cos(x) en [0.0, 1.2].
P1 (x) = 1.000000
x 1.2
x 0.0
+ 0.362358
0.0 1.2
1.2 0.0
Q1 (x) = 0.980067
x 1.0
x 0.2
+ 0540302
0.2 1.0
1.0 0.2
N
X
yk LN,k (x)
(8)
k=0
(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)
(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].
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
= 0.696707
= 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
(13)
f (x) PN (x) =
N
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) =
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 )
(x0 x0 )(x0 x1 )
= f (x0 )P1 (x0 ) = 0,
(x x0 )(x x1 )
(x1 x0 )(x1 x1 )
= f (x1 )P1 (x1 ) = 0.
(x x0 )(x x1 )
(17)
(18)
(19)
nos queda
g 0 (t) = f 0 (t) P10 (t) 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)
E1 (x) =
(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
Ejemplo
x = [2 7 9 11 15]
y = [4 8 4 6 9]
punto x = 5
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