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代码实现呢?
感谢您的帮助!
答案 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))