Effacer les filtres
Effacer les filtres

Using loops for an initial condition change

1 vue (au cours des 30 derniers jours)
Koren Murphy
Koren Murphy le 11 Août 2020
Commenté : Koren Murphy le 11 Août 2020
I am using ode45 to solve a set of differentials. At a particular point in the timespan the conditions need to be set to a fixed value, and the solver restarted to continue to solve.
For example, at time = 24 the y0 must change an be reinstated as the initial value with the ode45 solving from this point onwards.
t = [0 6 12 18 24 30 36 42 48];
y0 = [16; 0.5; 0; 2; 0; 0; 0; 0; 0.25];
[t, y] = ode45 (@solver, t ,y0);

Réponse acceptée

Walter Roberson
Walter Roberson le 11 Août 2020
Modifié(e) : Walter Roberson le 11 Août 2020
Break it up into two callsz one with timespan ending at that time, and the second starting from that time. Copy the end boundary conditions from the first call, make any necessary adjustments to that, and pass that in to the second call as the initial conditions.
  1 commentaire
Koren Murphy
Koren Murphy le 11 Août 2020
Thank you for your help

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by