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

2 次查看(过去 30 天)
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 个评论
Sara
Sara 2014-7-10
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 2014-7-10
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!

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by