ode solver , restart from where the simulation ended

6 views (last 30 days)
Hi,
I am using ode solver to simulate a system of differential equations.
tspan = 0:0.0001:1
[t s] = ode15s(@(t,s) fun(t,s), tspan , s0 ,options);
I ran for the tspan that is defined and obtained the results (0 to 1 second). I want to restart the simulation from where it ended and run for 2 seconds instead of rerunning the whole simulation again.
Any suggestions?
Thanks

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 28 Feb 2020
Just extract the solution at 1 s from s (i.e. the last row in s). Then simly run the integration from there:
t2 = linspace(1,3,2001); % or what resoution you need
s0_2 = s(end,:); %
[t1to3 s1to3] = ode15s(@(t,s) fun(t,s), t2 , s0_2 ,options);
That should be enough.
HTH

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!