ODE Event Location detecting events other than zero

"Use event functions to detect when certain events occur during the solution of an ODE. Event functions take an expression that you specify, and detect an event when that expression is equal to zero. They can also signal the ODE solver to halt integration when they detect an event."

This section is taken from the "ODE Event location" documentation. My question is, whether there is a event function that is able to halt the integration when the expression is equal to a certain value(i.e not zero; <0 or >0)
Does such a function exist?
Thank you in advance!

 Akzeptierte Antwort

Mischa Kim
Mischa Kim am 14 Jan. 2021

0 Stimmen

Hi Hariharan,
yes it is. You simply define a function that is equal to zero whenever your expression equals a certain value. For example, say you want to track x = 5. In the events function you then use, e.g. y = x - 5. So whenever a zero is detected (y = 0), by definition you know that x = 5.

3 Kommentare

Hi Mischa,
is it possible that the events function is able to track more than 1 values?
i.e x=5 x=11 x=17 ... etc ?
Yes, this is possible. There is a good example in our documentation here.
Thank you for your help!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by