Error using ODE solvers?

1 回表示 (過去 30 日間)
Joe
Joe 2013 年 5 月 5 日
Hi I'm trying to solve for this system of ODEs using the ODE solver that works the fastest:
d/dt[x1 x2 x3] = [-10^4*x1+x2^2+x3;0.1*x2+x3;x1^3-x2-10^-4*x3]
So in order to determine which ODE solver computes this the fastest, I've simply tested each solver with the same conditions and tolerance. However, the x1 values I get are extremely off from each other from each solver even though x2 and x3 are relatively close in terms of the tolerance. I don't know what seems to be the problem...

採用された回答

Jan
Jan 2013 年 5 月 6 日
編集済み: Jan 2013 年 5 月 6 日
The resulting trajectories will differ, when:
  • the ODE is stiff and you use a non-stiff solver,
  • the solution is not stable - then tiny deviations caused by the different integration schemes are amplified.
So at first determine the stiffness, then calculate the sensitivity matrix by varying the inputs and comparing the outputs.
Btw, if speed matters, -1e4 is faster than -10^4.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOrdinary Differential Equations についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by