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

Sympy中nsolve报错TypeError: cannot create mpf from x的问题求助

问题分析与解决:SymPy nsolve 报错 TypeError: cannot create mpf from x

错误原因

报错TypeError: cannot create mpf from x的核心问题是:nsolve作为数值求解器,必须接收一个初始猜测值。当前只传入了符号变量x,而SymPy依赖的mpmath库无法将符号对象转换为浮点数(mpf类型)来启动数值迭代求解流程。

修正后的代码

from sympy.solvers import nsolve
from sympy import Symbol, log
x = Symbol('x')
# 传入定义域内的初始猜测值(x>0.06,这里选0.1)
u = nsolve(log(x/0.06) / (x-0.06) - 8, x, 0.1)
print(u)

关键说明

  • 目标函数log(x/0.06)/(x-0.06)-8的定义域是x>0.06且x≠0.06,所以初始猜测值必须落在这个区间内,比如0.1、0.2都是合理选择。
  • 数值求解器依赖迭代算法,初始值会影响求解效率甚至是否能找到解,尽量选择靠近真实解的初始点(如果能预估的话)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:14:55