私は初心者ですが、ode 'dopri5'を使用して関数を統合したいと思います。参照はそれほど役に立ちませんでした。私は認識していないというエラーがあります。だから、もともと私はodeintを使っていましたが、うまくいきました。ode、dopri5メソッドを実行中、エラー:サポートされていないオペランドタイプ 'ode'
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はタイプ「頌歌」であると言っていますodeintのようなフロートが私に与える。ここで
は特定のエラー、(私はフロートからItmpを減算してみてください)です。
unsupported operand type(s) for -: 'ode' and 'float'
そして、私はPythonのデバッガを使用してItmpを印刷しようとすると、それは私に
<scipy.integrate._ode.ode object at 0x10d6ab410>
を与えます
そして私は上記のエラーで停止し続けます。私は正しく書かれたodeコマンドを持っていないと思います。どんな助けでも大歓迎です!
あなたは[mcve]を投稿できますか?それが現れているので、あなたの問題の起源を知るのは難しいです。念頭に置いておくべきことは、あなたの初期条件と積分器オブジェクト(Itmp')に同じ変数名を使用することです。これはひどく悪いことであり、エラーにつながる可能性があります。 – Wrzlprmft
ODE関数の異なる引数の順序を考慮しましたか? 'odeint'は' odefunc(state、time) 'を必要としますが、' ode'は 'odefunc(time、state)'を使います。 – LutzL