Changing constant with timespan in ode45 solver
1 回表示 (過去 30 日間)
古いコメントを表示
Koren Murphy
2020 年 10 月 15 日
コメント済み: Bhanu Pratap Akherya
2021 年 8 月 18 日
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.
0 件のコメント
採用された回答
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
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
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
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.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!