Vous êtes sur la page 1sur 3

Interpolacin: Lagrange

En el subcampo matemtico del anlisis numrico, se denomina interpolacin a la construccin de nuevos puntos
partiendo del conocimiento de un conjunto discreto de puntos.

En ingeniera y algunas ciencias es frecuente disponer de un cierto nmero de puntos obtenidos por muestreo o a partir
de un experimento y pretender construir una funcin que los ajuste.

Otro problema estrechamente ligado con el de la interpolacin es la aproximacin de una funcin complicada por una
ms simple. Si tenemos una funcin cuyo clculo resulta costoso, podemos partir de un cierto nmero de sus valores e
interpolar dichos datos construyendo una funcin ms simple. En general, por supuesto, no obtendremos los mismos
valores evaluando la funcin obtenida que si evalusemos la funcin original, si bien dependiendo de las caractersticas
del problema y del mtodo de interpolacin usado la ganancia en eficiencia puede compensar el error cometido.

En todo caso, se trata de, a partir de n parejas de puntos (xk,yk), obtener una funcin f que verifique

a la que se denomina funcin interpolante de dichos puntos. A los puntos xk se les llama nodos. Algunas formas de
interpolacin que se utilizan con frecuencia son la interpolacin lineal, la interpolacin polinmica, la interpolacin por
medio de spline o la interpolacin polinmica de Hermite.

El mtodo que vamos a aplicar se basa en resolver problemas de interpolacin polinmica por medio del polinomio de
interpolacin de Lagrange.

Tenemos los datos :

El polinomio de interpolacin de Lagrange se plantea como sigue:

P( x) y0l0 ( x) y1l1 ( x) ynln ( x)

Donde los polinomios () se llaman los polinomios de Lagrange. Anlogamente se puede deducir que:

(x x ) i

l j x
i j

(x
i j
j xi )
, para = 0, 1, , 1
Ejemplo:

Calcular el polinomio de Lagrange usando los siguientes datos:

Solucin. Tenemos que:

f ( x) y0l0 ( x) y1l1 ( x) y2l ( x) y3l3 ( x)


f ( x) 2l0 ( x) l1 ( x) 2l2 ( x) 3l3 ( x)
(1.1)

Donde:

( 3)( 5)( 7) ( 3)( 5)( 7)


0 () = =
(1 3)(1 5)(1 7) 48

( 1)( 5)( 7) ( 1)( 5)( 7)


1 () = =
(3 1)(3 5)(3 7) 16

( 1)( 3)( 7) ( 1)( 3)( 7)


2 () = =
(5 1)(5 3)(5 7) 16

( 1)( 3)( 5) ( 1)( 3)( 5)


3 () = =
(7 1)(7 3)(7 5) 48

Sustituyendo arriba (1.1), el polinomio de Lagrange queda definido como sigue:

( x 3)( x 5)( x 7) ( x 1)( x 5)( x 7) ( x 1)( x 3)( x 7) ( x 1)( x 3)( x 5)


f ( x)
24 16 8 16

Ahora slo queda evaluar la funcin interpolante asignando valores a x, segn se requiera. Por ejemplo, si queremos
interpolar asignando el valor de f(4), el resultado esperado ser 2.
Polinomio de Interpolacin de Lagrange en Excel

A diferencia de Regresin, en Excel no hay funciones que permitan determinar la interpolacin de una serie de valores
discretos. En este sentido nos apoyaremos en la programacin Visual Basic para lograr el propsito.

Sea en Excel los siguientes datos a interpolar:

Presionamos Alt-F11 para llamar el entorno de programacin en Visual Basic. A travs de la opcin Insertar el men de
opciones insertamos un nuevo Mdulo al proyecto, y escribimos el siguiente cdigo (sin cambiar nada):

Function Lagrange(XArray, YArray, x, m)


' m indica el orden del polinomio:(n-1)

Dim row As Integer, i As Integer, j As Integer


Dim term As Double, y As Double
row = Application.Match(x, XArray, 1)
If row < (m + 1) / 2 Then row = (m + 1) / 2
If row > XArray.Count - (m + 1) / 2 Then row = XArray.Count - (m + 1) / 2
For i = row - (m - 1) / 2 To row + (m + 1) / 2
term = 1
For j = row - (m - 1) / 2 To row + (m + 1) / 2
If i <> j Then term = term * (x - XArray(j)) / (XArray(i) - XArray(j))
Next j
y = y + term * YArray(i)
Next i
Lagrange = y
End Function

Una vez escrito el mdulo regresamos a Excel y procedemos a calcular la interpolacin de los datos escribiendo en la
celda resultado =Lagrange(A2:A5,B2:B5,x,3) donde x es el valor a interpolar.

Para nuestro ejemplo anterior sera =Lagrange(A2:A5,B2:B5,4,3) dando como resultado 2.

Nota final: En Excel 2007 recordar que deber guardar el archivo como Libro de Excel habilitado para macros.

Vous aimerez peut-être aussi