这可能是一个简单的问题,但我正在尝试增加四元集成中的节点数量。我找不到有关此的相关文档。
我有一个一维函数(Dirac delta-like),它大部分为零,但在非常窄的间隔内非零。因此自适应四边形无法捕捉该间隔并返回零。我试图通过在更多点采样来捕捉那个峰值。你怎么做到这一点?SciPy 文档并没有说明太多。
这个窄峰的位置发生了变化。我不知道峰的确切位置。
这可能是一个简单的问题,但我正在尝试增加四元集成中的节点数量。我找不到有关此的相关文档。
我有一个一维函数(Dirac delta-like),它大部分为零,但在非常窄的间隔内非零。因此自适应四边形无法捕捉该间隔并返回零。我试图通过在更多点采样来捕捉那个峰值。你怎么做到这一点?SciPy 文档并没有说明太多。
这个窄峰的位置发生了变化。我不知道峰的确切位置。
quadpy(我的一个项目)使用 Gauss-Kronrod 进行 1D 自适应正交。您可以指定 Kronrod 规则的程度,通过增加域中的点数来提高它。
安装
pip install quadpy
并尝试
from numpy import sin
import quadpy
val, error_estimate = quadpy.line_segment.adaptive_integrate(
lambda x: sin(5*x),
[0.0, 1.0],
1.0e-10,
kronrod_degree=10
)
print(val)
加速kronrod_degree
以获得更多积分。