我已經(jīng)從此處的solve_ivp文檔中復(fù)制并粘貼了 Scipy 函數(shù)的 Lotka-Volterra 示例,但出現(xiàn)錯(cuò)誤lotkavolterra() missing 4 required positional arguments: 'a', 'b', 'c', and 'd'在我看來(lái),lotkavolterra盡管它是“帶有附加參數(shù)的系統(tǒng)示例”,但參數(shù)并沒(méi)有被傳遞給它。代碼如下。from scipy.integrate import solve_ivpdef 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)print(sol)我該如何解決我的問(wèn)題?
1 回答

婷婷同學(xué)_
TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
如果您的 solve_ivp 版本不提供參數(shù)args
,您可以使用 lambda 函數(shù):
sol = solve_ivp(lambda t, z: lotkavolterra(t, z, 1.5, 1, 3, 1), [0, 15], [10, 5], dense_output=True)
但是,強(qiáng)烈建議更新您的 scipy 版本,就像 Warren 已經(jīng)在評(píng)論中暗示的那樣。
添加回答
舉報(bào)
0/150
提交
取消