6 votos

¿Método para estimar el$n^{th}$ derivado?

Cuando mediante el análisis numérico, a menudo me encuentro que estoy obligado a estimar un derivado (por ejemplo, cuando el uso de Iteración de Newton para encontrar las raíces). Para calcular la primera derivada de una función $f(x)$ a un punto de $x_0$ (suponiendo que $f(x)$ es continua en a $x_0$), se puede utilizar el ligeramente modificado (para evitar el sesgo hacia un lado) los primeros principios de la fórmula para los derivados, se muestra a continuación.

Para las pequeñas $h$:

$$f'(x_0)\approx\frac{f(x+h)-f(x-h)}{2h}\tag{1}$$

Mediante este método, se puede estimar el $f^{(n)}(x)$ forma recursiva, para lo suficientemente pequeño $h$:

$$f^{(n)}(x_0)\approx\frac{f^{(n-1)}(x+h)-f^{(n-1)}(x-h)}{2h}\tag{2}$$

El problema que tengo con $(2)$ es que cada recursividad produce una pérdida de precisión que se acumula. Así, para estimar el $f^{(n)}(x_0)$, la función de $f(x)$ que se requiere para ser calculadas $2^n$ veces.

Es $(2)$ el mejor método para aproximar el $n^{th}$ derivado de la $f(x_0)$ numéricamente o hay métodos más eficaces?

6voto

Andrew Puntos 140

Sí, hay mucho mejores métodos para calcular $n$-th derivados que simple-mente las diferencias finitas. He mencionado algunos de ellos en este MO respuesta.

Brevemente: uno podría elegir de

  1. La extrapolación de Richardson de una adecuada secuencia de las diferencias finitas estimaciones (discutido en estos dos artículos).
  2. Cauchy de diferenciación fórmula: $$f^{(n)}(a)=\frac{n!}{2\pi i}\oint_\gamma \frac{f(z)}{(z-a)^{n+1}}\mathrm dz $$
  3. Lanczos la fórmula: $$f^{(n)}(a)=\lim_{h\to 0}\frac{(2n+1)!}{2^{n+1}n!h^n}\int_{-1}^1 f(a+hu)P_n(u)\mathrm du$$

donde $P_n(x)$ es un polinomio de Legendre.


Incluso simple-mente las diferencias finitas se pueden guardar algo; por ejemplo, en el caso de la primera derivada, cuando uno utiliza central diferencias

$$f^\prime (x)\approx\frac{f(x+h)-f(x-h)}{2h}$$

una buena selección de $h$, debido a Nash, tarda $h=\sqrt{\varepsilon}\left(|x|+\sqrt{\varepsilon}\right)$ donde $\varepsilon$ es la máquina de epsilon. (Yo había mencionado anteriormente esta en uno de OP preguntas anteriores...)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X