Changing constant with timespan in ode45 solver

21 ビュー (過去 30 日間)
Koren Murphy
Koren Murphy 2020 年 10 月 15 日
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.

採用された回答

Alan Stevens
Alan Stevens 2020 年 10 月 15 日
Make x a function of t and call it from the function defining the rate equations ode45 is calling..
  15 件のコメント
Alan Stevens
Alan Stevens 2021 年 8 月 18 日
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 2021 年 8 月 18 日
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

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

その他の回答 (1 件)

Ameer Hamza
Ameer Hamza 2020 年 10 月 15 日
編集済み: Ameer Hamza 2020 年 10 月 15 日
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.

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by