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

如何使用Python求解指定含n的方程?现有Sympy代码报错如何修复?

求解三个含n方程的代码修正方案

报错原因

  • 第一个方程报错:一是没有提前将n声明为sympy的符号变量,二是混用了仅支持数值计算的math.sqrt,sympy符号运算需要使用自带的sqrt方法。
  • 第二个方程报错:一是未声明符号变量n,二是未导入对应对数函数,log2运算需要使用sympy的log方法指定底数为2。

完整求解代码

from sympy import symbols, solve, sqrt, log, Eq

# 声明符号变量n,限定为正实数,避免返回无效复数解
n = symbols('n', real=True, positive=True)

# 求解第一个方程:3553200 = 27 × (√n/5)
eq1 = Eq(27 * (sqrt(n)/5), 3553200)
res1 = solve(eq1, n)
print("第一个方程的精确解:", res1[0])

# 求解第二个方程:3553200 = 1560878×log2(n)/13
eq2 = Eq(1560878 * log(n, 2) / 13, 3553200)
res2 = solve(eq2, n)
print("第二个方程的近似解:", res2[0].evalf()) # evalf()转为数值近似结果

# 求解第三个方程:3553200 = 9^n−2
eq3 = Eq(9**n - 2, 3553200)
res3 = solve(eq3, n)
print("第三个方程的近似解:", res3[0].evalf())

结果说明

  • 第一个方程为整式开方方程,可得到精确整数解
  • 第二个对数方程、第三个指数方程无简单整数解,调用evalf()可输出指定精度的近似数值结果

内容的提问来源于stack exchange,提问作者Ghof-90

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:54:08