Интегрируйте функцию с несколькими переменными с особенностями, используя scipy.integrate.nquad - PullRequest
1 голос
/ 26 мая 2020

Я пытаюсь интегрировать функцию

def func(x, y):
    return 1 / np.sqrt(x**2 + y**2)

с обоими x и y между -1 и 1, для которых численное решение составляет примерно 7,05.

Проблема в том, что там является нулем в знаменателе для x = y = 0, и я не могу понять, как с этим справиться. Я пробовал использовать точки опций в файле integration.nquad:

integrate.nquad(func, [[-1,1], [-1,1]], points = [[0],[0]])    

, но синтаксис кажется неправильным. Я нашел много примеров (которые я могу воспроизвести) интеграции одной функции переменной с особенностями с использованием точки выбора, но я не понимаю, как (и если это возможно) обобщить это с функцией более чем одной переменной. К сожалению, просмотр руководства мне не помогает ...

1 Ответ

0 голосов
/ 24 августа 2020

Используйте

nquad(func, [[-1, 1], [-1, 1]], opts=[{'points': [0,]}, {'points': [0,]}])
...