Python中如何求某点的导数值
from sympy import
x=Symbol(‘x’)
y=x**2
dx=diff(y,x)
上面这段程序求出了 y 关于 x 的导数:dx=2x
如何求 x=2 时,导数的值 dx=2*2=4 呢?
这个要怎么代入呢?我的意思如何通过程序做。
Python中如何求某点的导数值
2 回复
在Python里求一个函数在某点的导数值,最直接的方法是使用scipy.misc.derivative。如果你没装SciPy,得先pip install scipy。
看个例子,假设我们要求函数 ( f(x) = x^2 ) 在 ( x = 3 ) 处的导数:
from scipy.misc import derivative
def f(x):
return x**2
# 求 x=3 处的导数值
result = derivative(f, 3.0, dx=1e-6)
print(f"f'(3) = {result}")
derivative函数的核心参数是func(你的函数)、x0(求导的点)和dx(计算差分用的小步长,默认1e-6通常就够用)。它用的是中心差分法,算出来的就是近似导数值。
对于简单函数,你也能用sympy做符号求导得到精确解:
import sympy as sp
x = sp.symbols('x')
f = x**2
f_prime = sp.diff(f, x)
print(f"f'(x) = {f_prime}")
# 在x=3处求值
print(f"f'(3) = {f_prime.subs(x, 3)}")
不过sympy更适合符号计算,数值计算还是scipy.misc.derivative更方便。
总结:用scipy.misc.derivative最省事。
from sympy import
dx=2x
u = lambdify(x,dx)
print(u(2))

