簡體   English   中英

運行ode,dopri5方法,錯誤:不支持的操作數類型'ode'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM