Попробуйте, уверяю вас, это будет отлично работать.
import scipy.optimize as opt
from numpy import exp
import timeit
st1 = timeit.default_timer()
def f(variables) :
(x,y) = variables
first_eq = x + y**2 -4
second_eq = exp(x) + x*y - 3
return [first_eq, second_eq]
solution = opt.fsolve(f, (0.1,1) )
print(solution)
st2 = timeit.default_timer()
print("RUN TIME : {0}".format(st2-st1))
->
[ 0.62034452 1.83838393]
RUN TIME : 0.0009331008900937708
К вашему сведению.как упоминалось выше, вы также можете использовать «приближение Бройдена», заменив «fsolve» на «broyden1».Оно работает.Я сделал это.
Я не знаю точно, как работает приближение Бройдена, но это заняло 0,02 с.
И я рекомендую не использовать функции Sympy <- действительно удобно, но с точки зренияскорости, это довольно медленно.Ты увидишь.</p>