Event function for ODE solver

8 vues (au cours des 30 derniers jours)
Kevin Gunawan
Kevin Gunawan le 31 Oct 2011
Modifié(e) : Jan le 26 Juil 2017
Hi, I am using ode15s and would like to ask how to use Events function. So basically I need to stop the ODE solver iteration before the given time span, to be exact when the values of y equals to certain values e.g y(i)=0.01 (my y vector stores more than one variable) I have browsed a lot of questions here and all seems suggest the ballode function, but is there anyone who can kindly guide me step by step on how to use it?
Thanks!

Réponses (2)

Mahmudul Hasan
Mahmudul Hasan le 11 Oct 2013
Its easy. Just set the value = y(i)- 0.01 in event function, please. Like:
[value isterminal direction] = event_function(t,y)
value = y(i)-0.01; isterminal=1; direction = 0;
Hope this helps you a lot.
Thanks Mahmudul

Jan
Jan le 31 Oct 2011
  3 commentaires
Steven Lord
Steven Lord le 26 Juil 2017
There are a couple examples in the documentation.
Jan
Jan le 26 Juil 2017
Modifié(e) : Jan le 26 Juil 2017
@Zhenke Xi: Calm down. If you want to ask for an example, simply ask for an example.
Open the first link, search for "For more information, see ODE Event Location" and click on the link (it is and the 2nd last paragraph of "Description").
Alternatively you can ask an internet search engine for "Matlab ode event function example". This requires less exclamation marks.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by