Корень Scipy нахождение 3D-функции - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть непрерывная функция 3D.Вот его часть, построенная в масштабе дБ:

enter image description here

Как вы можете видеть, есть центральный пик, который затем падает перед увеличениемснова.Мне нужно найти ближайшую точку к источнику, где f(x,y) увеличивается выше порога, например, -3 дБ.Таким образом, поиск начнется с начала координат, опустится ниже порога, затем вернется вверх и остановится при достижении порога на восходящей стороне.

Я думаю, что хочу использовать метод 3D-поиска корней, возможно, 3D-реализацию метода Ньютона.Однако важно, чтобы я нашел ближайший корень к центру.

Есть ли эффективный способ сделать это с помощью scipy?Я смотрю на scipy.optimize.newton, но он работает только в одном измерении.

1 Ответ

0 голосов
/ 21 ноября 2018

В документах вы можете найти полный раздел, посвященный поиску корней, и подраздел по многомерному поиску корней.В частности, все это многомерные методы поиска корня:

root(fun, x0[, args, method, jac, tol, …])  Find a root of a vector function.
fsolve(func, x0[, args, fprime, …])     Find the roots of a function.
broyden1(F, xin[, iter, alpha, …])  Find a root of a function, using Broyden’s first Jacobian approximation.
broyden2(F, xin[, iter, alpha, …])  Find a root of a function, using Broyden’s second Jacobian approximation.

, и это методы, доступные для root, например:

root(method=’hybr’)
root(method=’lm’)
root(method=’broyden1’)
root(method=’broyden2’)
root(method=’anderson’)
root(method=’linearmixing’)
root(method=’diagbroyden’)
root(method=’excitingmixing’)
root(method=’krylov’)
root(method=’df-sane’)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...