how can I condition my ode solver

I use an ode solver here
[t, R] = ode78(@odefun, tspan, r0);
but I don't want it to run until the final t, I want it to run until R is at a certain value, and I have no idea how to go about doing that.

Antworten (1)

Torsten
Torsten am 15 Jun. 2023
Verschoben: Torsten am 15 Jun. 2023

0 Stimmen

Use the Event Facility of the ODE integrators:

2 Kommentare

Noya Linder
Noya Linder am 16 Jun. 2023
And what happens if the "position" is not exactly zero? How can I specify tolerance to the value which will result in a termination?
Torsten
Torsten am 16 Jun. 2023
Bearbeitet: Torsten am 16 Jun. 2023
ode78 checks where the expression (R - certain value) changes sign. This is the position where R reaches the specified value. There is no need to specify a tolerance.

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 15 Jun. 2023

Bearbeitet:

am 16 Jun. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by