擅长:python、mysql、java
<p>对于一般函数f(x),可以通过标准(二阶)近似(f(x+h)-f(x-h))/2h,直接得到对其一阶导数的数值近似。主要的挑战是,与f(x)呈现非二次变化的长度尺度相比,选择h较小,但足够大,以避免在减去f(x)的附近值时出现舍入误差。在</p>
<p>然而,如果你想用代数的方法来区分你的函数,那么事情就更具挑战性了。最简单的情况是f(x)是多项式,因此可以用x的幂系数向量来表示,在这种情况下,<a href="https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.polyder.html" rel="nofollow noreferrer">numpy.polyder()</a>可以用来计算n'阶导数的系数。在</p>
<p>对于更复杂的函数,可以查看<a href="http://www.sympy.org/en/index.html" rel="nofollow noreferrer">SymPy</a>。在</p>
<p>两个纽比·波利德()和SymPy选项要求您以专用于这些特定工具的方式表示函数。我不知道有什么方法可以接受一个普通的Python函数并构造另一个实现<em>精确</em>导数的函数。在</p>