domingo, 2 de junio de 2019

Interpolación por el método de Newton

En artículos anteriores he hablado sobre la obtención del polinomio interpolador de grado $n$ ( dado un conjunto de $n+1$ puntos ) mediante el método de determinación de los coeficientes del polinomio pedido, resolviendo el sistema de ecuaciones lineales que aparece al imponer que los datos lo satisfagan, que puedes repasar siguiendo este enlace. También he hablado del método de Lagrange para obtener dicho polinomio, bastante más sofisticado y con claras ventajas de cálculo sobre el primero.

Los métodos de interpolación son importantes por su aplicabilidad numérica a muchos tipos de problemas; por ejemplo a la hora de integrar numéricamente una función cuya primitiva no sea fácil obtener o incluso para los casos en que dicha primitiva no sea una función elemental. Y, a pesar de que la solución obtenida así no será exacta, bien puede controlarse la imprecisión que ello conlleva. La idea clave de la integración numérica consiste en sustituir dicha función por una función aproximada, cuya integración no presente problemas, en un cierto intervalo. Desde luego, estos contenidos se cosideran de ampliación del currículo estándar de bachillerato. Y como ya sabes, suelo incidir en ellos una vez acabado ya el curso. Si tienes intención de cursar un grado en el que las matemáticas tengan un protagonismo relevante, creo sinceramente que estos contenidos de ampliación pueden serte de gran ayuda y de mucha motivación.

En este artículo te voy a hablar de otro método básico de interpolación polinómica: el método de Newton. Te darás cuenta de que el ejemplo que he utilizado en todos los artículos dedicados a explicar la interpolación polinómica ( el m. de determinación de los coeficientes por resolución del sistema de ecuaciones, el de Lagrange, y, ahora, el de Newton ) es el mismo ( con sólo tres puntos como datos, dando lugar a un polinomio de grado 2 ), pues he intentado que se entendieran bien los pasos de cálculo, a partir de un ejemplo sencillo. Sin embargo, te animo a que te plantees otros ejemplos con más de tres puntos ( 5 o 6 puntos para empezar estaría bien ), y que utilices para ello los métodos de Lagrange y de Newton, para evitar ( si utilizas el primer método ) sistemas de ecuaciones lineales de gran dimensión, que, en principio, suponen una gran cantidad de operaciones aritméticas a realizar.

El no tener que recalcularlo todo al añadir más puntos al conjunto de datos es otra razón importante a la hora de recomendarte el método de Newton frente, por ejemplo, al primer método ( el de la resolución del sistema de ecuaciones lineales ), siempre y cuando mantengas la misma distancia entre las abscisas de los nuevos puntos añadidos. Si ésto no fuese posible hacerlo por alguna razón, podrías utilizar entonces el método de Lagrange.

-oOo-

Sin más dilación, entro ya en materia sobre el método de interpolación de Newton. Consideremos el siguiente conjunto de $n+1$ puntos del plano cartesiano:

de modo de las abscisas sean equidistantes, esto es, $x_1-x_0=x_2-x_1=x_3-x_2=\ldots=h$


Llamamos diferencias primeras a las $n$ siguientes:
  $\Delta\,f(x_0)=f(x_1)-f(x_0)$
  $\Delta\,f(x_1)=f(x_2)-f(x_1)$
  $\Delta\,f(x_2)=f(x_3)-f(x_2)$
  $\ldots$
  $\Delta\,f(x_{n-1})=f(x_{n})-f(x_{n-1})$

Denominamos diferencias segundas a las $n-1$ siguientes:
  $\Delta^{2}\,f(x_0)=\Delta\,f(x_1)-\Delta\,f(x_0)$
  $\Delta^{2}\,f(x_1)=\Delta\,f(x_2)-\Delta\,f(x_1)$
  $\Delta^{2}\,f(x_2)=\Delta\,f(x_3)-\Delta\,f(x_2)$
  $\ldots$
  $\Delta^{2}\,f(x_{n-2})=\Delta\,f(x_{n-1})-\Delta\,f(x_{n-2})$

Denominamos diferencias terceras a las $n-2$ siguientes:
  $\Delta^{3}\,f(x_0)=\Delta^{2}\,f(x_1)-\Delta^{2}\,f(x_0)$
  $\Delta^{3}\,f(x_1)=\Delta^{2}\,f(x_2)-\Delta^{2}\,f(x_1)$
  $\Delta^{3}\,f(x_2)=\Delta^{2}\,f(x_3)-\Delta^{2}\,f(x_2)$
  $\ldots$
  $\Delta^{3}\,f(x_{n-3})=\Delta^{2}\,f(x_{n-2})-\Delta^{2}\,f(x_{n-3})$

...

y de manera génerica, diferencias $p$-ésimas ( $1 \le p \prec n$ ) a las $n-p$ restas $$\Delta^{p}\,f(x_{x_i})=\Delta^{p-1}\,f(x_{i+1})-\Delta^{p-1}\,f(x_{i})$$

Vamos a probar ahora que si conocemos $\{f(x_0),\Delta\,f(x_0),\Delta^{2}\,f(x_0),\ldots,\Delta^{k}\,f(x_0)\}$ podemos conocer el valor de $f(x_k)$

En efecto, de las diferencias primeras, podemos escribir $$f(x_1)=f(x_0)+\Delta\,f(x_0)$$ y $$f(x_2)=f(x_1)+\Delta\,f(x_1)=f(x_0)+\Delta\,f(x_0)+\Delta\,f(x_1)$$ y como, por otra parte, de las diferencias segundas, $\Delta\,f(x_1)=\Delta^{2}\,f(x_0)+\Delta\,f(x_0)$, podemos acabar escribiendo que $$f(x_2)=f(x_0)+\Delta^{2}\,f(x_0)+2\,\Delta\,f(x_0)$$

De manera análoga, podremos escribir $f(x_3)$ en términos de $f(x_0)$ y de las diferencias de orden tres dos y uno: $$f(x_3)=f(x_0)+3\,\Delta^{2}\,f(x_0)+3\,\Delta\,f(x_0)+\Delta^{3}\,f(x_0)$$ y, en general ( emerge un patrón claro ): $$\displaystyle f(x_k)=\sum_{i=0}^{k}\,\binom{k}{i}\,\Delta^{i}\,f(x_0)\;\text{para todo}\;k=0,1,2,\ldots,n$$

Vamos a comprobar esta fórmula con el siguiente ejemplo. Sean los siguientes tres puntos del plano


A partir de esta información de partida podemos construir una tabla de diferencias:


que, con los datos del ejemplo, se concreta así:


Como tenemos $3=2+1$ puntos, $n=2$; y $k$ tomará los valores: $0,1$ y $2$. Observemos que reproducimos el interior de la tabla; en efecto:

  $f(x_0)=-1$

  $\displaystyle f(x_1)=\binom{1}{0}\,f(x_0)+\binom{1}{1}\,\Delta\,f(x_0)=1\cdot(-1)+1\cdot (-1)=-2$

  $\displaystyle f(x_2)=\binom{2}{0}\,f(x_0)+\binom{2}{1}\,\Delta\,f(x_0)+ \binom{2}{2}\,\Delta^{2}\,f(x_0)=1\cdot (-1)+2\cdot (-1)+1\cdot 2 = -1$

-oOo-

Pues bien, para $k:=n$ podemos escribir

$$\displaystyle f(x_n)=\sum_{i=0}^{n}\,\binom{n}{i}\,\Delta^{i}\,f(x_0)$$ y desarrollando los coeficientes binomiales podemos expresarlo también así

$$\displaystyle f(x_0)+n\,\Delta\,f(x_0)+\dfrac{n\,(n-1)}{2}\,\Delta^{2}\,f(x_0)+\overset{\underbrace{n+1}}{\ldots}+\dfrac{n\,(n-1)\,(n-2)\,\ldots\,1}{n!}\,\Delta^{n}\,f(x_0)$$

Tengamos en cuenta ahora la equidistancia de las abscisas consecutivas ( recordemos que hemos supuesto que dicha distancia es $h$ ), entonces:

$$x_n=x_0+n\,h \Rightarrow n=\dfrac{x_n-x_0}{h}$$

$$x_n=x_1+(n-1)\,h \Rightarrow n-1=\dfrac{x_n-x_1}{h}$$

$$\ldots$$

$$x_n=x_{n-1}+1\cdot h \Rightarrow 1=\dfrac{x_n-x_{n-1}}{h}$$

así que sustituyendo en la expresión de $f(x_n)$ llegamos a

$f(x_0)+\dfrac{x_n-x_0}{1!\,h}\,\Delta\,f(x_0)+\dfrac{(x_n-x_0)(x_n-x_1)}{2!\,h^2}\,\Delta^{2}\,f(x_0)+ $
  $+\dfrac{(x_n-x_0)(x_n-x_1)(x_n-x_2)}{3!\,h^3}\,\Delta^{3}\,f(x_0)+$
    $\overset{\underbrace{n+1}}{\ldots}+\dfrac{(x_n-x_0)(x_n-x_1)(x_n-x_2)\ldots(x_n-x_{n-1})}{n!\,h^n}\,\Delta^{n}\,f(x_0)$

En consecuencia, para un $x$ genérico, que no sea necesariamente una las abscisas de los datos, si bien su valor sea cercano a las mismas, será razonable escribir el polinomio interpolador de Newton de grado $n$ ( a partir de los $n+1$ puntos que se dan como datos ) como

$P_{n}\,(x)=f(x_0)+\dfrac{x-x_0}{1!\,h}\,\Delta\,f(x_0)+\dfrac{(x-x_0)(x-x_1)}{2!\,h^2}\,\Delta^{2}\,f(x_0)+ $
  $+\dfrac{(x-x_0)(x-x_1)(x-x_2)}{3!\,h^3}\,\Delta^{3}\,f(x_0)+$
    $\overset{\underbrace{n+1}}{\ldots}+\dfrac{(x-x_0)(x-x_1)(x-x_2)\ldots(x-x_{n-1})}{n!\,h^n}\,\Delta^{n}\,f(x_0)$

que, de manera abreviada, podemos escribir también de la forma $$\displaystyle P_{n}(x)=f(x_0)+\sum_{i=1}^{n}\,\dfrac{\Delta^{i}\,f(x_0)}{i!\,h^i}\,\prod_{j=0}^{i-1}\,(x-x_j)$$

-oOo-

Para el ejemplo concreto que nos hemos planteado ( recordemos la tabla de diferencias ):



podemos escribir el polinomio interpolador de Newton de grado $2$ ( para este conjunto de datos formado por tres puntos ):

$$P_{2}(x)=f(x_0)+\dfrac{x-x_0}{1! \cdot h}\,\Delta\,f(x_0)+\dfrac{(x-x_0)(x-x_1)}{2 !\cdot h^2}\,\Delta^{2}\,f(x_0)$$

con lo cual

$$P(x)=-1-\dfrac{x-(-2)}{1}\cdot (-1)+\dfrac{(x-(-2))(x-(-1))}{2}\cdot 2 = x^2+2x-1$$

Con ello, podríamos obtener la ordenada correspondiente a una abscisa próxima a alguna de las que figuran como datos; por ejemplo a un punto con abscisa $x=-3/2$, la ordenada que le corresponde, según el polinomio interpolador obtenido, es $P(-3/2)=(-/2)^2+2\cdot (3/2)-1=17/4$

$\square$

No hay comentarios:

Publicar un comentario

Gracias por tus comentarios