Effacer les filtres
Effacer les filtres

Changing constant with timespan in ode45 solver

1 vue (au cours des 30 derniers jours)
Koren Murphy
Koren Murphy le 15 Oct 2020
I am writing a code that solves a set of equations from ode45. However, I have a constant that changes in the equations at every time point. E.g.
dA = J(1)*x;
dB = J(5)*x;
So at t = 0, x =0 but at t = 1, x =0.25 etc. The solutions are then used as initial values for the next ode solver loop etc. How can I implement this so the ode can solve with this in mind?
I have tried for loops but still no luck.

Réponse acceptée

Alan Stevens
Alan Stevens le 15 Oct 2020
Make x a function of t and call it from the function defining the rate equations ode45 is calling..
  15 commentaires
Alan Stevens
Alan Stevens le 18 Août 2021
You should make this a completely separate thread, in which you also upload the coding you have implemented so far.
Bhanu Pratap Akherya
Bhanu Pratap Akherya le 18 Août 2021
Thanks for the reply alan, I have posted the question can you please help? Here is the link to the question: https://in.mathworks.com/matlabcentral/answers/1436182-changing-values-of-rhs-with-each-time-step-in-ode

Connectez-vous pour commenter.

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 15 Oct 2020
Modifié(e) : Ameer Hamza le 15 Oct 2020
See this example on the documentation page of ode45(): https://www.mathworks.com/help/matlab/ref/ode45.html#bu3l43b. It shows how to deal with time-varying parameters.

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by