You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SymPy中求导数的导数报错NameError:Derivative未定义的解决方法

解决SymPy中对导数求导的NameError问题

你遇到的NameError是因为Derivative是SymPy库中的类,直接在代码中使用它却没有通过SymPy模块引用或提前导入。以下两种简洁方式可以解决问题:

方案1:使用SymPy模块前缀访问Derivative类

直接在求导时用sp.Derivative(x, t)作为求导变量,无需额外定义新变量:

import sympy as sp

# 基础定义
t = sp.symbols('t')
x = sp.Function('x')(t)
B, C = sp.symbols('B C')

Lx = B * sp.diff(x, t) * C

# 正确求导:用sp.Derivative指定求导变量
ELx = sp.diff(Lx, sp.Derivative(x, t))
print(ELx)  # 输出结果:B*C

方案2:提前导入Derivative类

如果不想每次都写模块前缀,可以提前从SymPy中导入Derivative类:

import sympy as sp
from sympy import Derivative

# 基础定义
t = sp.symbols('t')
x = sp.Function('x')(t)
B, C = sp.symbols('B C')

Lx = B * sp.diff(x, t) * C

# 直接使用Derivative类
ELx = sp.diff(Lx, Derivative(x, t))
print(ELx)  # 输出结果:B*C

原理说明

SymPy中的Derivative是用于表示符号导数的类,不属于Python内置名称,因此必须明确从SymPy库中引用。两种方案都不需要额外定义替代变量,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Mo711

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:07:14