from sympy import *
x = Symbol('x')
y = x ** 2
dx = diff(y, x)
这段代码可以得到 y 的导数。这很简单dx = 2 * x
现在我想获得 for 的dx
值x = 2
。
显然,dx = 2 * 2 = 4
当x = 2
但是我怎样才能用 python 代码实现这一点呢?
谢谢你的帮助!
可能最通用的方法是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))
根据 SymPy 的文档,您必须在用所需值替换后评估函数的值: x
>>> dx.evalf(subs={x: 2})
4.00000000000000
或者
>>> dx.evalf(2, subs={x: 2})
4.0
将输出限制为两位数。