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!

 採用された回答

Mischa Kim
Mischa Kim 2021 年 1 月 14 日

0 投票

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 件のコメント

Hariharan MK
Hariharan MK 2021 年 1 月 14 日
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 ?
Mischa Kim
Mischa Kim 2021 年 1 月 14 日
Yes, this is possible. There is a good example in our documentation here.
Hariharan MK
Hariharan MK 2021 年 1 月 14 日
Thank you for your help!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by