Двумерный метод деления пополам в Python? - PullRequest
0 голосов
/ 06 июня 2018

Я ищу расширение функции optimize.bisect в Python, некоторый код, который позволяет мне решить систему из двух пар самосогласованных уравнений, то есть y= f(x,y) и x= g(x,y).Я искал своего рода двухмерный метод деления пополам, но я не против использовать другие возможности, если он работает нормально.

1 Ответ

0 голосов
/ 06 июня 2018

Насколько я понимаю вашу проблему, вы хотите найти корень следующей функции

def fun(x):
    return [f(x[0], x[1]) - x[1],
            g(x[0], x[1]) - x[0]]

, где x[0] соответствует x в вашем определении и x[1] соответствует y.Вы можете решить эту проблему, используя, например, scipy.optimize.root

from scipy import optimize
solution = optimize.root(fun, [0, 0])

Здесь [0, 0] - исходное предположение для корня.Однако выбор правильного алгоритма во многом зависит от вашей проблемы.

...