[英]Running ode, dopri5 method, error: unsupported operand type 'ode'
我是一個初學者,我想使用ode'dopri5'集成一個函數,但是我認為我做的不正確。 參考並沒有太大幫助,我遇到了一個我不認識的錯誤。 因此,最初我使用的是odeint,並且運行良好。 這是這段代碼:
Itmp = odeint(te.rhs, Itmp, [xLim[i], xLim[i+1]], mxstep=10000,
atol=1e-11, rtol=1e-11, args=(f,))[1]
而我嘗試使用dopri5進行集成是這樣的:
Itmp = ode(te.rhs).set_integrator('dopri5', max_step=10000,atol=1e-11, rtol=1e-11)
我得到的錯誤是說Itmp是'ode'類型的,而我需要它是浮點型的,就像odeint給我的那樣。
這是特定的錯誤,(我嘗試從浮點數減去Itmp):
unsupported operand type(s) for -: 'ode' and 'float'
當我使用python調試器並嘗試打印Itmp時,它給了我
<scipy.integrate._ode.ode object at 0x10d6ab410>
在我繼續之后,它停止並顯示上述錯誤。 我猜我沒有正確寫出ode命令。 任何幫助將不勝感激!
所述的構造的返回值ode
類是類型的實例對象ode
。 此時,尚未進行任何集成。 為此,您需要調用積分器的步進功能。 步驟之后,新狀態在ode
對象的y
字段中。
有關更多詳細信息,請查閱ode
類的文檔。
您應該注意到,您既沒有將初始條件也沒有將積分間隔的結尾傳遞給積分器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.