При использовании простого примера с самой страницы документов solve_ivp
(https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html#scipy .integrate.solve_ivp ):
from scipy.integrate import solve_ivp
def lotkavolterra(t, z, a, b, c, d):
x, y = z
return [a*x - b*x*y, -c*y + d*x*y]
sol = solve_ivp(lotkavolterra, [0, 15], [10, 5], args=(1.5, 1, 3, 1), dense_output=True)
Я получаю следующую ошибку:
return np.asarray(fun(t, y), dtype=dtype)
TypeError: lotkavolterra() missing 4 required positional arguments: 'a', 'b', 'c', and 'd'
Что-то не так с реализацией solve_ivp
или пример, приведенный на странице документации, неверен? В течение последнего часа я пытался решить аналогичную проблему (передавая два numpy массива в качестве дополнительных аргументов), но когда я попытался проверить, сработал ли более простой пример, я был поражен, увидев, что он тоже не удался. Я схожу с ума, или вышеприведенный пример не подходит для других?