MATLAB Answers

how do i get the timestep of odesolver

16 views (last 30 days)
Moritz on 23 Jul 2013
i do need the timestep in my equation. Is there a build in way to do that or do i have to monitor it somehow by storing it in a variable between iteration ?
Kind regards

Answers (2)

Nathan Crosty
Nathan Crosty on 23 Jul 2013
The ODE solvers actually return time... You don't need to do anything extra.
[T,Y] = solver(odefun,tspan,y0)
Where T is the time, and solver is your choice of an ODE function.

Moritz on 25 Jul 2013
Yeah, that is obvious but i do need the timestep in my ode. With a fixed time step it would be easy but with a variable timestep solver i am not sure how to do that.
Moritz on 5 Aug 2013
Richard, you are probably right. I am currently working on it.
If you are interested:
The Formulas:
It was formula (66) which confused me, but i think i can replace it with equation (56).
The numerical scheme is described on page 4545. I think the formulas are written for an implementation in e.g C++. Using loops is far to slow in matlab.
I solved the same model for centrifugation with the method of lines and ode45. But it was much easier for that case.
So i am rewriting the equations in differential form. Probably it would be possible to code a matrix. But i never did that and i am faster with the MOL.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by