Python如何获取某一特定导数点的值?

时间:2018-08-13 02:44:36

标签: python sympy lambdify

from sympy import *
x = Symbol('x')
y = x ** 2
dx = diff(y, x)

此代码可以获得y的导数。 dx = 2 * x

很简单

现在,我想获取dx的{​​{1}}的值。

很明显,x = 2时为dx = 2 * 2 = 4

但是如何用python代码实现呢?

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

根据SymPy的documentation,您必须评估用所需的值替换 x后的函数的值:

>>> dx.evalf(subs={x: 2})
4.00000000000000

>>> dx.evalf(2, subs={x: 2})
4.0

将输出限制为两位数。

答案 1 :(得分:2)

最通用的方法可能是lambdify

sympy.lambdify创建并返回一个可以分配给名称并调用的函数,就像其他可调用的python一样。

from sympy import *

x = Symbol('x')
y = x**2
dx = diff(y, x)
print(dx, dx.subs(x, 2))  # this substitutes 2 for x as suggested by @BugKiller in the comments

ddx = lambdify(x, dx)     # this creates a function that you can call
print(ddx(2))