In [1]:
from proofs import diff_methods

Para observar los pasos de la demostración de un método de derivación use la siguiente línea reemplazando su argumento por el número de puntos que desea en la aproximación. De forma automatica se construirán los pasos para su deducción, en las formas hacia adelante, hacia atrás, y en caso de ser un número impar de puntos su forma central.
Tenga en cuenta que los casos prácticos no poseen muchos puntos debido al incremento del número de operaciones lo cual a su vez se traduce en el aumento del error de representación por propagación, y entre más puntos la generación de la deducción tomará más tiempo.


In [2]:
diff_methods(3)


Diferenciación numérica

Polinomio interpolante

Como primer paso se construyen los polinomios de Lagrange asociados a cada uno de los 3 puntos $x_i$ solicitados para la interpolación. Tenga en cuenta que los polinomios serán de grado 2.

$$L_{i,n}(x) = \prod_{j=0 \ j\neq i}^n \frac{x-x_j}{x_i-x_j}$$
$$L_{{0,3}}(x)=\frac{\left(x - x_{1}\right) \left(x - x_{2}\right)}{\left(x_{0} - x_{1}\right) \left(x_{0} - x_{2}\right)}$$
$$L_{{1,3}}(x)=\frac{\left(x - x_{0}\right) \left(x - x_{2}\right)}{\left(- x_{0} + x_{1}\right) \left(x_{1} - x_{2}\right)}$$
$$L_{{2,3}}(x)=\frac{\left(x - x_{0}\right) \left(x - x_{1}\right)}{\left(- x_{0} + x_{2}\right) \left(- x_{1} + x_{2}\right)}$$

Ahora, con los polinomios de Lagrange construidos y la evaluación de la función en los puntos, construimos el polinomio interpolante de grado 2, que suponemos como aproximación a la función.

$$P_3(x)=\frac{\left(x - x_{0}\right) \left(x - x_{1}\right) f{\left (x_{2} \right )}}{\left(- x_{0} + x_{2}\right) \left(- x_{1} + x_{2}\right)} + \frac{\left(x - x_{0}\right) \left(x - x_{2}\right) f{\left (x_{1} \right )}}{\left(- x_{0} + x_{1}\right) \left(x_{1} - x_{2}\right)} + \frac{\left(x - x_{1}\right) \left(x - x_{2}\right) f{\left (x_{0} \right )}}{\left(x_{0} - x_{1}\right) \left(x_{0} - x_{2}\right)}$$

Derivada analitica

Usando el polinomio interpolante, derivamos analiticamente respecto a la variable $x$, y obtenemos la siguiente aproximación.

$$\frac{df(x)}{dx}\approx\frac{L_3(x)}{dx}=\frac{\left(x - x_{0}\right) f{\left (x_{2} \right )}}{\left(- x_{0} + x_{2}\right) \left(- x_{1} + x_{2}\right)} + \frac{\left(x - x_{0}\right) f{\left (x_{1} \right )}}{\left(- x_{0} + x_{1}\right) \left(x_{1} - x_{2}\right)} + \frac{\left(x - x_{1}\right) f{\left (x_{0} \right )}}{\left(x_{0} - x_{1}\right) \left(x_{0} - x_{2}\right)} + \frac{\left(x - x_{1}\right) f{\left (x_{2} \right )}}{\left(- x_{0} + x_{2}\right) \left(- x_{1} + x_{2}\right)} + \frac{\left(x - x_{2}\right) f{\left (x_{0} \right )}}{\left(x_{0} - x_{1}\right) \left(x_{0} - x_{2}\right)} + \frac{\left(x - x_{2}\right) f{\left (x_{1} \right )}}{\left(- x_{0} + x_{1}\right) \left(x_{1} - x_{2}\right)}$$

Ahora, sustituimos la condición de puntos equidistantes con separación $h$ y factorizando.

Diferencias hacia atras, $x_i \rightarrow x_0 - (2-i)h$, y posteriormente $x \rightarrow x_0$.

$$\left.\frac{df(x)}{dx}\right|_{x=x_0}\approx\frac{1}{2 h} \left(3 f{\left (x_{0} \right )} + f{\left (- 2 h + x_{0} \right )} - 4 f{\left (- h + x_{0} \right )}\right)$$

Diferencias hacia adelante, $x_i \rightarrow x_0 + ih$, y posteriormente $x \rightarrow x_0$.

$$\left.\frac{df(x)}{dx}\right|_{x=x_0}\approx\frac{1}{2 h} \left(- 3 f{\left (x_{0} \right )} + 4 f{\left (h + x_{0} \right )} - f{\left (2 h + x_{0} \right )}\right)$$

Diferencias centradas, $x_i \rightarrow x_0 + \left(i - \frac{3 - 1}{2}\right)h$, y posteriormente $x \rightarrow x_0$.

$$\left.\frac{df(x)}{dx}\right|_{x=x_0}\approx\frac{1}{2 h} \left(- f{\left (- h + x_{0} \right )} + f{\left (h + x_{0} \right )}\right)$$