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

带边界条件的超定方程组Python求解及least_squares报错处理

问题原因

scipy.optimize.least_squares的args参数要求传入元组类型的额外参数集合,你当前直接将长度为4的列表b赋值给args,函数会自动把列表内的4个元素拆分为4个独立的位置参数,和第一个自动传入的待求解变量x一起传递给system函数,最终传入的参数总数为5,与你定义的system仅接收2个参数的逻辑冲突,触发报错。

解决方法

将b打包为单元素元组传入args即可,修正后的求解代码如下:

x = least_squares(system, np.asarray((1,1,1)), bounds=(0, 20), args = (b,)).x
求解器适配性说明

least_squares完全适配你当前带边界约束的非线性最小二乘求解场景,无需更换其他求解器:

  • 它默认使用的TRF算法原生支持变量边界约束,针对这类小维度的拟合问题求解稳定性和精度都有保障
  • 如果要调整求解效果,也可手动指定method='dogbox'参数,该算法更适合小维度带边界的最小二乘问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:27:05