Я пытаюсь использовать scipy.integrate.quad для интеграции функции в очень большом диапазоне (0..10,000).Функция равна нулю в большей части своего диапазона, но имеет всплеск в очень маленьком диапазоне (например, 1 602,11818).
При интегрировании я ожидаю, что результат будет положительным, но я предполагаю, что каким-то образом квадалгоритм гадания запутывается и выдает ноль.Я хотел бы знать, есть ли способ преодолеть это (например, с помощью другого алгоритма, какого-то другого параметра и т. Д.)?Я обычно не знаю, где будет всплеск, поэтому я не могу просто разделить диапазон интеграции и суммировать части (если у кого-то нет хорошей идеи о том, как это сделать).
Спасибо!
Пример вывода:
>>>scipy.integrate.quad(weighted_ftag_2, 0, 10000)
(0.0, 0.0)
>>>scipy.integrate.quad(weighted_ftag_2, 0, 1602)
(0.0, 0.0)
>>>scipy.integrate.quad(weighted_ftag_2, 1602, 1618)
(3.2710994652983256, 3.6297354011338712e-014)
>>>scipy.integrate.quad(weighted_ftag_2, 1618, 10000)
(0.0, 0.0)