Python中Scipy积分遇三类警告,求适配固定t的s的正确定义
适配固定t的s的正确定义问题
原代码与运行问题
用户需要计算积分,原代码如下:
import numpy as np import scipy from scipy import integrate alpha = .99 t = np.linspace(0, .85, 5) s = np.empty_like(t) f = np.power(t - s, -alpha) Int = integrate.simpson(f, s) Int
运行后出现警告并返回nan:
<ipython-input-1-6b0d0757bfac>:8: RuntimeWarning: invalid value encountered in power f = np.power(t-s, -alpha) /usr/local/lib/python3.8/dist-packages/scipy/integrate/_quadrature.py:414: RuntimeWarning: invalid value encountered in true_divide h0divh1 = h0 / h1 /usr/local/lib/python3.8/dist-packages/scipy/integrate/_quadrature.py:416: RuntimeWarning: invalid value encountered in true_divide y[slice1] * (hsum * hsum / hprod) + nan
已知限制与尝试
- t固定为
[0. , 0.2125, 0.425 , 0.6375, 0.85 ],无法修改alpha、t或f的形式 - 尝试将t起始值改为
1e-8,无效 - 尝试s为全0数组、全1数组,均触发警告或返回nan
- 修改f为
(t+1-s)** -.99得到有效f数组,但调用integrate.simpson仍返回nan
核心疑问
适配上述固定t的s的正确定义是什么?
内容的提问来源于stack exchange,提问作者Nurdan
相关产品推荐
相关产品推荐

