Integration time step in ODE45 Matlab

Hello, I hope you can help me with this problem: I have to find out which is the time step used by the Matlab ode45 during integration. I have to set a value for the variable InitialStep through odeset, but I want to take a number which is similar to the time step used by the solver (I know it has a variable time step size, but I just need to discover the order of magnitude). I don't have to change or work on the output time interval, I am interested in knowing the integration time step size.
Thanks,
Chiara

2 件のコメント

James Tursa
James Tursa 2023 年 7 月 15 日
Usually you don't have to do this, but in your case it is necessary? What differential equations are you solving?
Steven Lord
Steven Lord 2023 年 7 月 15 日
In addition to James Tursa's question, how will your code handle the situation where the time step is negative? Yes, this can happen, if ode45 rejects a step and tries again with a smaller step. If it tries to step from t = 1 to t = 1.5, rejects it, then tries to step from t = 1 to t = 1.25 would that be detected as a time step of -0.25?

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

回答 (2 件)

Jan
Jan 2023 年 7 月 13 日

0 投票

The output time interval is the integration interval, so you can grab it e.g. in the outputfcn.
Torsten
Torsten 2023 年 7 月 13 日
編集済み: Torsten 2023 年 7 月 13 日

0 投票

If you use a two-element vector for tspan only giving the start and end time of integration, the values T(i+1)-T(i) (i=1,...,end-1) (computed from the array T returned by the solver) give the basic integration stepsizes taken. Of course, there will be function evaluations also in between the T-values due to the Runge-Kutta formulas.

カテゴリ

ヘルプ センター および File ExchangeProgramming についてさらに検索

製品

リリース

R2022b

質問済み:

2023 年 7 月 13 日

コメント済み:

2023 年 7 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by