Integration time step in ODE45 Matlab
8 ビュー (過去 30 日間)
古いコメントを表示
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
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
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
2023 年 7 月 13 日
The output time interval is the integration interval, so you can grab it e.g. in the outputfcn.
0 件のコメント
Torsten
2023 年 7 月 13 日
編集済み: Torsten
2023 年 7 月 13 日
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.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Ordinary Differential Equations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!