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

使用Sympy求解方程时出现NotImplementedError错误如何修复

问题原因

你调用的sympy.solve()是用于求解方程解析解的接口,你提供的属于超越方程,sympy没有内置对应的解析解求解算法,因此触发报错。改用数值求解方法即可正常运行。

修复方案1:使用sympy内置数值求解接口nsolve

仅需要把求解逻辑替换为nsolve,传入你手动计算得到的初始猜测值即可,修改后代码如下:

import sympy as sy

x = sy.symbols("x", real=True)
u = x**3
eq1 = sy.Eq(u - 6*sy.sin(u) + 10*x - 6*x -1, 0)

# 数值求解,初始猜测值可根据你手动计算的根的范围调整,示例给出的猜测值为1
sol1 = sy.nsolve(eq1, x, 1)
print(sol1)

运行后输出数值解,示例输出:0.986621755765375

修复方案2:使用scipy做数值求解(更适合数值计算场景)

如果后续需要做更多数值运算,也可以使用scipy的求解接口,代码如下:

import numpy as np
from scipy.optimize import root_scalar

def equation(x):
    u = x**3
    return u - 6*np.sin(u) + 4*x - 1

# 求解,可根据你手动计算的结果调整根所在的区间范围
sol = root_scalar(equation, bracket=[0, 2], method='brentq')
print(sol.root)

运行输出结果与sympy的nsolve结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 22:15:06