How to know the step time inside the function that integrated by ode45?
이전 댓글 표시
I have
x0=1;
[t,x] = ode45(@My_Fun,[0:0.01:10],x0);
and My_Fun is
function x_dot =My_Fun(t, x)
Here %%%
%%I want to know the instantaneous step time %%%
What are t(now) and t(next) %%%
x_dot(1)=2/m-x;
댓글 수: 1
James Tursa
2016년 6월 25일
Why do want this info? I.e., what would you do with it?
채택된 답변
추가 답변 (1개)
Walter Roberson
2016년 6월 25일
3 개 추천
You cannot know the t of the next step. ode45() uses adaptive time steps, so the next time step will depend upon will depend upon the outcome of this step. Also, if your x is not a scalar, then the next ode45 call might have the same time as the current one, but with different boundary conditions (x), so that it can explore the change along the other dimensions.
댓글 수: 1
Walter Roberson
2016년 6월 25일
None of the ode* routines permit fixed time step. They do allow setting a guideline for the initial step, and they do allow setting the maximum step, but they do not allow the step size to be fixed.
카테고리
도움말 센터 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!