MATLAB Answers

0

How to speed up the 'dde23' solver?

Asked by Shan Yin on 9 Apr 2019
Latest activity Commented on by Shan Yin on 11 Apr 2019
Dear all,
I try to use the solver 'dde23' to simulate the time-dealy differential equation with single constant delay. But the running time of the solver is too long. Is there any way to speed up the solver without reducing the calculation accuracy?
The main part of my code is attached as follows:
clear all
clc
kc=0.884;
lags=[1.2265834];
tspan=[0,2000];
options=ddeset('RelTol',1e-8,'AbsTol',1e-8,'MaxStep',0.05);
sol=dde23(@(t,y,Z)ddefun(t,y,Z,kc),lags,@(t)history(t),tspan,options);

  6 Comments

Then define the variables once only and store them persistently:
Or compute some of those parameter values outside the DDE function and pass them in as additional parameters.
@Shan Yin: Steven's suggestion is smarter than storing the parameters persistently inside the function. It is the nature of parameters to be defined separately. But bother methods should be a benefit for the run time also.
@Jan @ Steven Lord. Thanks for your nice suggestions!

Sign in to comment.

Tags

Products


Release

R2017b

0 Answers