2025年01月23日

一日一項目 Python Scipy solve_ivp()でアーーーソブ なので~す

solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="RK45")
ここの method = でアルゴリズムを指定だってさ~ で天体運動の例の実行して
image

うーむ。RK45はアカン。だが、odeint()では正常だったし自作4次R-Kでも正常だったのだがな。odeint()も4次R-K法だと思うのだけど。なんで solve_ivp()の RK45はダメなんの 知らんけど。

solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="RK23") RK23ではどうやあぁぁぁ
image

あらら、いいじゃん。いいじゃん。線が太くなったのは精度が少しは落ちたってか。

solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="DOP853") これは正常だとわかっているのでグラフは出さない

solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="Radau")
image

正常でんがな OK牧場!!

 

solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="BDF")
image

正常だが・・・線が太くなっとる。精度が落ちたということかい。

 

solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="LSODA")
image

   あらら、だいぶ太くなった。これは精度落ちとる。回数増やしたら発散するパターンだわな。

ワタクシ これで行きますわ。
solution = solve_ivp(orbit, t_span, y0, t_eval=t_eval, method="DOP853")

では、どうして RK45があかんのか?  odeint()はRK45のはず、自作の4次R_K法でも正常だった。よってにこれは。。。。 RK45を使う場合にはさらにOptionつけたら良いのかしら。

詳しくは知らぬで~す。ま~実はワタクシの計算では odeint()でも自作でも良いのです。どーせたいした計算はしないのですからなので~す。

関係ないけどカシオ計算サイトって便利なのがあってな。ただ残念ながら次のように案内が出ておったのでありま~す。
https://keisan.casio.jp/
image

計算結果をグラフに出す。。。とってもありがたい機能だったのですがね。ま~カシオも業績が低迷しているのでここらに人員を割くことは無理ぃってことかいな。詳しくはしらぬので~す。

さてと、天気いいし散歩するか。花粉も飛んでいるだろうけどねえなのでありま~す。

posted by toinohni at 11:35| 東京 ☁| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください