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.

Risposte (1)

Torsten
Torsten il 15 Giu 2023
Spostato: Torsten il 15 Giu 2023

0 voti

Use the Event Facility of the ODE integrators:

2 Commenti

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 il 16 Giu 2023
Modificato: Torsten il 16 Giu 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.

Accedi per commentare.

Richiesto:

il 15 Giu 2023

Modificato:

il 16 Giu 2023

Community Treasure Hunt

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

Start Hunting!

Translated by