필터 지우기
필터 지우기

Using loops for an initial condition change

조회 수: 1 (최근 30일)
Koren Murphy
Koren Murphy 2020년 8월 11일
댓글: Koren Murphy 2020년 8월 11일
I am using ode45 to solve a set of differentials. At a particular point in the timespan the conditions need to be set to a fixed value, and the solver restarted to continue to solve.
For example, at time = 24 the y0 must change an be reinstated as the initial value with the ode45 solving from this point onwards.
t = [0 6 12 18 24 30 36 42 48];
y0 = [16; 0.5; 0; 2; 0; 0; 0; 0; 0.25];
[t, y] = ode45 (@solver, t ,y0);

채택된 답변

Walter Roberson
Walter Roberson 2020년 8월 11일
편집: Walter Roberson 2020년 8월 11일
Break it up into two callsz one with timespan ending at that time, and the second starting from that time. Copy the end boundary conditions from the first call, make any necessary adjustments to that, and pass that in to the second call as the initial conditions.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by