How to force the ode solver to stop when a periodic solution is reached?

1 view (last 30 days)
Hello,
I am solving a system of 4 non linear ODEs with periodic coefficients of period one year. I want the ode solver to check each year if the solution is the same as the solution of the previous year then it should stop. Otherwise it should run until the finaltime (some fixed number) is reached. So, basically there are two stopping criterion: one is periodicity and the other is finaltime. No idea how to implement this idea.
Although, what i am doing right now is: I am solving the system untill the finaltime is reached and then check the periodicity condition for the last 3 or 4 years (say).
Any kind of suggestion would be helpful.
Thanks.
  4 Comments
Sara
Sara on 10 Jul 2014
Alternative: why don't you run the ode solver one year at a time in a while loop? If periodicity or finaltime are reached, you exit the loop.
Rose
Rose on 10 Jul 2014
yes, that could be a good option. I will try that and will let you know how it goes. Thanks for sparing your valuable time!

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!