Проблема заключалась в том, что y
был списком len
= 1
в вашем коде.Чтобы получить доступ к его элементу, вам нужно y[0]
в вашей функции.Ниже приведена рабочая версия вашего кода (не показывает весь код) с выходным графиком.
from scipy.optimize import root
from scipy.integrate import odeint
# Other plotting and numpy imports
def par_impl(y):
def functionh(x):
return [y[0] + (x[0]**2) - x[1] -23, -4 - y[0]*x[0] + (x[1]**2)] # y --> y[0]
sol = root(functionh, ([1, 1]))
return sol.x
# dy_dt function here
# Rest of your code unchanged
plt.plot(ls, y, "+", label="X")
plt.legend()
Выход