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