Моїм кращим способом наближення похідної є центральна різниця, її більш точна, ніж різниця вперед або назад, і я занадто ледачий, щоб перейти до вищого порядку. Але для центральної різниці потрібна точка даних з будь-якої сторони точки, яку ви оцінюєте. Зазвичай це означає, що ви не маєте похідної в будь-якій кінцевій точці. Щоб вирішити це питання, я хочу, щоб ви перейшли на різницю вперед і назад по краях:
Зокрема, я хочу, щоб ви використовували різницю вперед для першої точки, зворотну різницю для останньої точки і центральну різницю для всіх точок посередині. Крім того, ви можете припустити, що значення x розподілені рівномірно та зосереджуються лише на y. Скористайтеся цими формулами:
Удачі, я з нетерпінням чекаю, якщо хтось придумає просте правило, яке відтворює всі 3 похідні в потрібних місцях!
ВХОД:
0.034 9.62 8.885 3.477 2.38
Я буду використовувати FD, CD і BD, щоб позначити алгоритм, який слід використовувати в якому місці, тому вище 5 балів використовуються для наближення похідних за допомогою
FD CD CD CD BD
І тоді обчислені значення будуть:
9.586 4.4255 -3.0715 -3.2525 -1.097
Можна припустити, що завжди буде щонайменше 3 точки введення, і ви можете обчислити, використовуючи одинарну або подвійну точність.
І як завжди, найкоротша відповідь виграє.
[a,b,c,d,e] -> [b-a,(c-a)/2,(d-b)/2,(e-c)/2,e-d]
. Чи може бути менше, ніж 3 вхідних точки?