Скорее всего, solve_ivp Сципи не может обрабатывать дополнительные аргументы - PullRequest
0 голосов
/ 24 февраля 2020

При использовании простого примера с самой страницы документов 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 массива в качестве дополнительных аргументов), но когда я попытался проверить, сработал ли более простой пример, я был поражен, увидев, что он тоже не удался. Я схожу с ума, или вышеприведенный пример не подходит для других?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...