Processing math: 3%

martes, 30 de abril de 2019

Obtención del polinomio interpolador por el método de Lagrange

En una artículo anterior había resuelto el siguiente problema de interpolación:

Sean tres puntos del plano cartesiano A(-2,-1), B(-1,-2) y C(0,-1). Determínese el polinomio interpolador de segundo grado cuya gráfica pasa por estos tres puntos


Y lo había hecho calculando los coeficientes de la función polinómica interpoladora, que, al conocer 3 puntos ha de ser de grado 3-1=2: f(x)=a_0+a_1\,x+a_2\,x^2. El método que empleé, se basaba en resolver un sistema de ecuaciones lineales, lo cual es bastante laborioso en cuánto al número de operaciones aritméticas a realizar cuando lo generalizamos a n+1 puntos ( obteniendo una función polinómica interpoladora de grado n ) para valores grandes de n, pues hay que resolver un sistema de de n+1 ecuaciones con n+1 incógnitas ( los coeficientes ). Voy a presentaros ahora otro método alternativo, el método de Lagrange, que es bastante más eficiente e ingenioso que el anterior.

Con los tres puntos como datos:
x     |   f(x)
-------------------
x_{0} |  f(x_0)
x_{1} |  f(x_1)
x_{2} |  f(x_2)

podemos escribir el polinomio interpolador de la forma f(x)=f(x_0)\,\Phi_{0}(x)+f(x_1)\,\Phi_{1}(x)+f(x_2)\,\Phi_{2}(x) de manera que:

\Phi_{0}(x)=\left\{\begin{matrix}1 & \text{si} & x=x_0 \\ 0 & \text{si} & x=x_1 & \text{o bien} & x=x_2 \end{matrix}\right.

\Phi_{1}(x)=\left\{\begin{matrix}1 & \text{si} & x=x_1 \\ 0 & \text{si} & x=x_0 & \text{o bien} & x=x_2 \end{matrix}\right.

\Phi_{2}(x)=\left\{\begin{matrix}1 & \text{si} & x=x_2 \\ 0 & \text{si} & x=x_0 & \text{o bien} & x=x_1 \end{matrix}\right.

Además, dichas funciones han de ser polinómicas, de grado 2, por lo que definiremos éstas de la siguiente manera:

\Phi_{0}(x)=\dfrac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}

\Phi_{1}(x)=\dfrac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}

\Phi_{2}(x)=\dfrac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}

con lo cual se tiene que el polinomio interpolador para los tres puntos dados es

f(x)=f(x_0)\,\dfrac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}+f(x_1)\,\dfrac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}+
    +f(x_2)\,\dfrac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}

Evidentemente, el método de interpolación de Lagrange se generaliza sin dificultad para n+1 puntos dados, obteniendo el polonomio interpolador ( que es único, independientemente del método que empleemos ) de grado n \displaystyle f(x)=\sum_{i=0}^{n}\, f(x_i)\,\Phi_{i}(x) donde \Phi_i=\prod_{j\neq i} \dfrac{x-x_j}{x_i-x_j}\; \; \text{para}\; \; i=0,1,\ldots,n

-oOo-

Teniendo en cuenta ahora los datos concretos del problema:

x  |  f(x)
----------
-2 |  -1
-1 |  -2
0  |  -1

Obtenemos el polinomio interpolador
f(x)=(-1)\cdot \dfrac{(x-(-1))(x-0)}{(-2-0)(-2-(-1))}+(-2)\cdot \dfrac{(x-(-2))(x-0)}{(-1-(-2))(-1-0)}+
    +(-1)\,\dfrac{(x-(-2))(x-(-1))}{(0-(-2))(0-(-1))}=\ldots
      =x^2+2x-1

Recordemos una vez más que el polinomio interpolador que pasa por un conjunto de n+1 puntos es de grado n y único ( independientemente del método empleado para encontrarlo ); puede comprobarse que es el mismo que el obtenido por el método del cálculo directo de los coeficientes.


\square

No hay comentarios:

Publicar un comentario

Gracias por tus comentarios