函数导数

时间:2010-06-03 13:06:56

标签: algorithm

我有一些功能,

int somefunction( //parameters here, let's say  int x) {
    return something  Let's say x*x+2*x+3 or does not matter
}

如何找到此功能的衍生物?如果我有

int f(int x) {
    return sin(x);
}

在导数之后必须返回cos(x)。

2 个答案:

答案 0 :(得分:3)

您可以通过查看小间隔内的渐变来近似导数。例如

const double DELTA=0.0001;
double dfbydx(int x) {
  return (f(x+DELTA) - f(x)) / DELTA;
}

根据您评估该功能的位置,您可能会从(f(x+DELTA) - f(x-DELTA)) / 2*DELTA获得更好的结果。

(我认为你的问题中的'int'是一个错字。如果他们真的使用整数,你可能会遇到精确问题。)

答案 1 :(得分:1)

您可以使用许多numerical techniques中的一个来获取大多数函数的数值积分,例如Numerical ordinary Differential Equations

请注意:Another question

但您可以将集成结果作为函数定义与MapleMathematicaSageSymPy

等库一起使用