Anda di halaman 1dari 3

Polinomios y Bases de Lagrange.

Como hemos visto la base de Lagrange es aquella que cumple . Si nos centramos en el
caso de la interpolacion polinomial clasica y en una tabla de tres puntos (x0,f0), (x1,f1),
(x2,f2), tendremos que los conocidos polinomios de Lagrange tienen la siguiente forma,
que evaluamos directamente en los puntos dados por la lista xd.
> xd:=[x0=0,x1=1,x2=2];

> l0:= x-> eval((x-x1)*(x-x2)/((x0-x1)*(x0-x2)),xd);

> l0(x);

> l1:= x-> eval((x-x0)*(x-x2)/((x1-x0)*(x1-x2)),xd);

> l1(x);

> l2:= x-> eval((x-x0)*(x-x1)/((x2-x0)*(x2-x1)),xd);

> l2(x);

El aspecto de estos polinomios sera:


> plot([l0(x),l1(x),l2(x)],x=0...2);

En el caso en el que los valores de la funcion interpolada esten dados por la lista yd:
> yd:=[f0=1,f1=2,f2=1];

La solucion del problema de interpolacion sera:


> sol:= x-> eval(f0*l0(x) + f1*l1(x) + f2*l2(x),yd);

> sol(x);
La grafica hace patente como la solucion es la suma pesada con los valores f(x) de los
polinomios de Lagrange.
> plot([l0(x),l1(x),l2(x),sol(x)],x=0...2);

Cada uno de los polinomios de Lagrange es la solucion de un problema de interpolacion


donde todos los valores de f(x) en los puntos dato son cero excepto en uno de ellos.
Veamoslo resolviendo los tres problemas de interpolacion que nos proveen con la base de
Lagrange:
> unassign('f0','f1','f2');
> yd:=[f0=1,f1=0,f2=0];

> sol:= x-> eval(f0*l0(x) + f1*l1(x) + f2*l2(x),yd);

> sol(x);

> plot([l1(x),l2(x),sol(x)],x=0...2);

> unassign('f0','f1','f2');
> yd:=[f0=0,f1=1,f2=0];

> sol:= x-> eval(f0*l0(x) + f1*l1(x) + f2*l2(x),yd);

> sol(x);

> unassign('f0','f1','f2');
> yd:=[f0=0,f1=0,f2=1];

> sol:= x-> eval(f0*l0(x) + f1*l1(x) + f2*l2(x),yd);

> sol(x);

Ejercicio: Base de Lagrange en Dos Dimensiones.

Imaginemos que ahora tenemos una funcion de dos variables f(x,y) que deseamos
interpolar, clasicamente, en una tabla de puntos.
vamos a tomar como puntos dato en X:
> xd:=[x0=0,x1=1,x2=2];

y en Y:
> yd:=[y0=4,y1=6];

La funcion que vamos a interpolar sera: que en los puntos (x0,y0), (x0,y1), etc. valdra:
> fd:=[f00=1,f01=1,f10=4,f11=6,f20=16,f21=36];

Se pide resolver este problema encontrando la base de Lagrange utilizando como espacio
solucion el expandido por {1, x, y, xy, , }
Como ayuda: centraos en el comportamiento de los polinomios de Lagrange en una
dimension.
La definicion de una funcion en dos variables en Maple se hace asi:
> f3d := (x,y) -> y^x ;

> plot3d(f3d(x,y),x=0..2, y=4..6, axes=boxed);

Anda mungkin juga menyukai