Python中怎么用numpy求函数的导数

这篇文章将为大家详细讲解有关Python中怎么用numpy求函数的导数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

例如Numpy计算函数y=x^2+1

让我们说,我想要导数的值在x = 5 …

您有四个选项

  • 可以使用Finite Differences

  • 可以使用Automatic Derivatives

  • 可以使用Symbolic Differentiation

  • 可以手动计算导数。

有限差异不需要外部工具,但容易出现数字错误,如果您处于多变量情况,可能需要一段时间。

如果你的问题很简单,符号分化是理想的。符号方法现在变得相当健壮。SymPy是一个优秀的项目,它与NumPy很好地集成。看看autowrap或lambdify函数。

自动衍生品非常酷,不容易出现数字错误,但需要一些额外的库(google为这个,有几个好的选择)。这是最强大的,但也是最复杂/难以设置的选择。如果你很好地限制自己numpy语法,那么Theano可能是一个不错的选择。

这里是一个使用SymPy的例子。

In [1]: from sympy import * In [2]: import numpy as np In [3]: x = Symbol('x') In [4]: y = x**2 + 1 In [5]: yprime = y.diff(x) In [6]: yprime Out[6]: 2⋅x In [7]: f = lambdify(x, yprime, 'numpy') In [8]: f(np.ones(5)) Out[8]: [ 2.  2.  2.  2.  2.]

关于Python中怎么用numpy求函数的导数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。