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

Scipy Simpson积分计算正值结果为负的问题求助

问题原因与解决方案

你的问题源于使用的Scipy版本过旧,旧版本的simpson函数在处理非均匀间隔的自变量数组时存在符号计算bug,导致本该为正的积分结果出现负值。

验证说明

用最新版Scipy(1.10及以上)运行你的代码,得到的结果为0.006527,与np.trapz的正结果趋势一致,符合预期。

解决办法

  • 升级Scipy:执行命令 pip install --upgrade scipy 到最新版本即可修复该bug。
  • 临时替代方案:如果暂时无法升级,可继续使用np.trapz完成积分(精度略低于Simpson法则);或者在确认自变量数组单调递增(你的LOS是正确的递增序列)、积分方向无误的前提下,对simpson的结果取绝对值。

补充说明

从积分定义来看,你的自变量LOS单调递增、被积函数ne全为正值,结果必然为正,旧版本Scipy的simpson函数在这类非均匀大跨度数据场景下的计算逻辑存在缺陷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 18:50:24