Error using ODE solvers?

3 views (last 30 days)
Joe
Joe on 5 May 2013
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...

Accepted Answer

Jan
Jan on 6 May 2013
Edited: Jan on 6 May 2013
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.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!