使用sympy求解多元函数偏导数时出现NameError报错求助
SymPy偏导数计算NameError报错解决方案
报错原因
你代码中调用的sin()函数未指定所属模块,当前作用域无对应定义,因此触发NameError。
SymPy进行符号运算时,必须使用自身内置的三角函数实现,无法兼容Python标准库math模块的数值计算类三角函数。
修复方案
可选两种修正方式:
- 直接调用sympy模块下的
sin函数
修正后完整代码:
import sympy as sym x, y = sym.symbols('x y') sym.diff(x**2 + 10*sym.sin(x) + y**3, x)
- 提前从sympy中导入需要的
sin函数
修正后完整代码:
import sympy as sym from sympy import sin x, y = sym.symbols('x y') sym.diff(x**2 + 10*sin(x) + y**3, x)
修正后代码运行将输出正确的偏导结果:2*x + 10*cos(x)
内容的提问来源于stack exchange,提问作者Sumanth H S
相关产品推荐
相关产品推荐

