如何为integrate.quad方法定义不连续点序列

0 投票
1 回答
969 浏览
提问于 2025-04-29 14:35

我有一个类似于狄拉克δ函数的积分函数。它是有限的,而且底部非常窄。我需要对它进行积分,但quad方法没有识别出这个特殊点。

在查看了Python文档后:

points : (浮点数或整数的序列),可选。在有限的积分区间内,可能会出现积分函数的局部困难的断点序列(例如,奇点、不连续点)。这个序列不需要排序。

我正在尝试定义这个奇点的位置,但没有成功。

integral, err = sp.integrate.quad(integrand, 0, LIM,points=[maxX,maxY])

得到的结果是:

ValueError: The input is invalid.

怎么定义这个点呢???

提前谢谢大家!!!

暂无标签

1 个回答

0

出现这个错误的一个原因是 maxX 或者 maxY 超出了范围 [0, LIM]。这里的 maxY 名字有点可疑。points 中的值应该是在积分区间内的值(也就是说,是 x 的值,而不是 y 的值)。如果 maxY 实际上是 maxX 对应的函数值,那就只需要用 points=[maxX]

撰写回答