如何为integrate.quad方法定义不连续点序列
我有一个类似于狄拉克δ函数的积分函数。它是有限的,而且底部非常窄。我需要对它进行积分,但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]
。