Ma façon préférée d'approximer un dérivé est la différence centrale, sa plus précise que la différence avant ou la différence arrière, et je suis trop paresseux pour aller dans un ordre supérieur. Mais la différence centrale nécessite un point de données de chaque côté du point que vous évaluez. Normalement, cela signifie que vous n’avez pas de dérivé sur aucun des points de terminaison. Pour le résoudre, je veux que vous passiez à la différence avant et arrière sur les bords:
Plus précisément, je veux que vous utilisiez une différence avant pour le premier point, une différence arrière pour le dernier point et une différence centrale pour tous les points du milieu. En outre, vous pouvez supposer que les valeurs x sont régulièrement espacées et vous concentrer uniquement sur y. Utilisez ces formules:
Bonne chance, j'ai hâte de voir si quelqu'un arrive avec une règle simple qui reproduit les 3 dérivés aux bons endroits!
ENTRÉE EX:
0.034 9.62 8.885 3.477 2.38
J'utiliserai FD, CD et BD pour indiquer quel algorithme utiliser à quel endroit, donc au-dessus de 5 points sont utilisés pour approximer les dérivés en utilisant
FD CD CD CD BD
Et puis les valeurs calculées seraient:
9.586 4.4255 -3.0715 -3.2525 -1.097
Vous pouvez supposer qu'il y aura toujours au moins 3 points d'entrée et vous pouvez calculer en utilisant une précision simple ou double.
Et comme toujours, la réponse la plus courte l'emporte.
[a,b,c,d,e] -> [b-a,(c-a)/2,(d-b)/2,(e-c)/2,e-d]. Peut-il y avoir moins de 3 points d'entrée?
