Mi forma preferida de aproximar una derivada es la diferencia central, es más precisa que la diferencia hacia adelante o hacia atrás, y soy demasiado vago para ir en orden superior. Pero la diferencia central requiere un punto de datos a cada lado del punto que está evaluando. Normalmente esto significa que terminas sin tener una derivada en ninguno de los puntos finales. Para resolverlo, quiero que cambies a la diferencia hacia adelante y hacia atrás en los bordes:
Específicamente, quiero que use una diferencia hacia adelante para el primer punto, una diferencia hacia atrás para el último punto y una diferencia central para todos los puntos en el medio. Además, puede suponer que los valores de x están espaciados uniformemente y centrarse solo en y. Usa estas fórmulas:
¡Buena suerte, estoy deseando ver si a alguien se le ocurre una regla simple que reproduzca los 3 derivados en los lugares correctos!
ENTRADA EX:
0.034 9.62 8.885 3.477 2.38
Usaré FD, CD y BD para denotar qué algoritmo usar en qué punto, por lo que se usan más de 5 puntos para aproximar derivados usando
FD CD CD CD BD
Y luego los valores calculados serían:
9.586 4.4255 -3.0715 -3.2525 -1.097
Puede suponer que siempre habrá al menos 3 puntos de entrada, y puede calcular con precisión simple o doble.
Y como siempre, gana la respuesta más corta.
[a,b,c,d,e] -> [b-a,(c-a)/2,(d-b)/2,(e-c)/2,e-d]
. ¿Puede haber menos de 3 puntos de entrada?