В зависимости от того, как задана функция, вы можете сделать пару вещей
- символическое дифференцирование, если у вас есть символическое представление вашей функции
- Числовое дифференцирование, если у вас есть только пары точка-значение
- Интерполировать с полиномом и дифференцировать это (символически, конечно)
Все варианты являются жизнеспособными. Какой из них наиболее подходит для вашей проблемы, зависит от функции, а также от времени, которое вы хотите потратить на кодирование и / или чтение того, как это сделать.
Редактировать: Если вы уже знаете функцию до времени выполнения, то вычислите разность вручную и реализуйте ее как функцию. Вы также должны были реализовать f(x)
как функцию, подобную этой
float f (float x) {
// ...
}
И, таким образом:
float df_dx (float x) {
// ...
}