Python中如何求某点的导数值

from sympy import
x=Symbol(‘x’)
y=x**2
dx=diff(y,x)
上面这段程序求出了 y 关于 x 的导数:dx=2
x
如何求 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=2
x
u = lambdify(x,dx)
print(u(2))

回到顶部