Как использовать scipy.optimize.bisect (), когда функция имеет дополнительные параметры? - PullRequest
0 голосов
/ 20 января 2019

Согласно документации , я должен иметь возможность делить функцию на несколько параметров, пока я передаю эти параметры в bisect (), используя args = (). Однако я просто не могу заставить его работать, и мне не удалось найти пример использования этой функции в таком сценарии.

Моя функция имеет форму $ f (a, x) $, где пользователь вводит $ a $, и программа находит корень в переменной x, используя scipy.optimize.bisect ().

Я пытался передать это как:

scipy.optimize.bisect(f,-a,a,args=(a,))

Но это не совсем сработало.

1 Ответ

0 голосов
/ 20 января 2019

Аргументы args добавляются после аргумента, с которым работает поиск корня, а не до.Если вы хотите выполнить поиск корня для последнего аргумента вместо первого, вам нужно написать функцию-обертку, которая адаптирует сигнатуру вашей функции к тому, что ожидает bisect.

def g(x, a):
    return f(a, x)

do_whatever_with(scipy.optimize.bisect(g, -a, a, args=(a,))
...