3 votos

Calcular numéricamente la segunda derivada "izquierda

El problema

Tengo una serie de mediciones para las que tengo que calcular numéricamente la primera y la segunda derivada de forma "en vivo", es decir, utilizando sólo los datos anteriores.

Esto es fácil para la primera derivada:

$f'(x) \approx \frac{f(x) - f(x-h)}{h}$

Para la segunda derivada utilizo esta fórmula:

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

El problema que tengo es que los resultados son una buena estimación sólo para valores "anteriores" de $x$ .

Es decir $f'(x)$ proporciona una buena estimación de $x-\frac12 h$ y $f''(x)$ proporciona una buena estimación de $x-h$ . Esto se debe a que las fórmulas que utilizo son efectivamente las fórmulas centrales en estos puntos, por ejemplo.

$f'(x + \frac12 h) = \frac{f(x+\frac h2)-f(x-\frac h2)}{2 \frac h2}$

La cuestión

¿Existe alguna forma de crear una estimación mejor para la segunda derivación sin dejar de utilizar únicamente los puntos "anteriores"?

Comparación de enfoques

He visualizado los tres enfoques hasta ahora, utilizando $f(x) = \operatorname{sin}(2x)$ como ejemplo y $h = 0.16$ :

  • diamante naranja: basado en $f''(x) \approx \frac{f(x) - 2f(x-h) + f(x-2h) }{h^2}$
  • cruz rosa: Los puntos del diamante naranja traducidos por $(-h,0)$
  • círculo verde: Utilizando 4 puntos para la aproximación se obtiene $f''(x)\approx \frac{2 f(x) - 5f(x-h) + 4 f(x-2h)- f(x-3h)}{h^2}$ como sugiere gammatester

Nota: Si se hace una extrapolación lineal de $f''(x-2h)$ y $f''(x-h)$ (utilizando un enfoque diferencial central) como $f''(x) = 2 f''(x-h) - f''(x-2h)$ como sugiere Hagen von Eitzen terminará con la misma fórmula propuesta por gammatester.

Me parece que añadir más puntos a las fórmulas no disminuye necesariamente el error, sobre todo si la "distancia de exploración" $h$ es bastante grande.

visualization with $h = 0.16$

La misma función con $h = 0.06$ :

visualization with $h = 0.06$

La solución

Me llevó algún tiempo, pero después de probar las fórmulas de mayor precisión que mencionaba la página de wikipedia gammatester, encontré una fórmula que es bastante precisa y sólo utiliza datos recopilados previamente.

$f''(x) \approx \frac{ \frac{469}{90} f(x-0h) \frac{223}{10} f(x-1h) + \frac{879}{20} f(x-2h) \frac{949}{18} f(x-3h) + 41 f(x-4h) \frac{201}{10} f(x-5h) +\frac{1019}{180} f(x-6h) \frac{7}{10} f(x-7h)}{h^2} $

1voto

gammatester Puntos 7985

Si puedes utilizar cuatro puntos para la segunda derivada tienes $$ f''(x)\approx \frac{2 f(x) - 5f(x-h) + 4 f(x-2h)- f(x-3h)}{h^2}$$ El término de error es $$\frac{11}{12} f^{(4)}(\xi_0) h^2- f^{(5)}(\xi_1)h^3 + O(h^4)$$ con $x-3h \le \xi_0, \xi_1 \le x.$

La fórmula dada puede encontrarse en muchas fuentes, véase por ejemplo la última en Wikipedia el término de error puede calcularse expandiendo la expresión como una serie en $h$ .

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