This page is a mirror containing information regarding the
easy to use versions of dde23 and ddesd .
Both the following description and the source code zip file
ezdde.zip are available
from either here or the above link.
The MATLAB programs DDE23 and DDESD solve delay differential equations (DDEs).
They require that the DDEs be coded to accept delayed terms in a compact form.
Some users find this form to be confusing, so programs EZDDE23 and EZDDESD were
written that have a different syntax for the equations. These EZ versions are
simply drivers that allow a user to code the DDEs in a way that some find more
natural. Here is the current syntax as taken from the prolog to DDE23:
DDE23 Solve delay differential equations (DDEs) with constant delays.
SOL = DDE23(DDEFUN,LAGS,HISTORY,TSPAN) integrates a system of
DDEs
y'(t) = f(t,y(t),y(t - tau_1),...,y(t - tau_k)). The
constant, positive
delays tau_1,...,tau_k are input as the vector LAGS. DDEFUN
is a function
handle. DDEFUN(T,Y,Z) must return a column vector
corresponding to
f(t,y(t),y(t - tau_1),...,y(t - tau_k)). In the call to
DDEFUN, a scalar T
is the current t, a column vector Y approximates y(t), and a
column Z(:,j)
approximates y(t - tau_j) for delay tau_j = LAGS(J).
Here is the syntax as stated in the prolog to EZDDE23:
EZDDE23 Solve delay differential equations (DDEs) with constant delays.
SOL = EZDDE23(DDEFUN,LAGS,HISTORY,TSPAN) integrates a system
of DDEs
y'(t) = f(t,y(t),y(t - tau_1),...,y(t - tau_k)). The
constant, positive
delays tau_1,...,tau_k are input as the vector LAGS. DDEFUN
is a function
handle. DDEFUN(T,Y,YLAG1,YLAG2,...,YLAGK) must return a
column vector
corresponding to f(t,y(t),y(t - tau_1),...,y(t - tau_k)). In
the call to
DDEFUN, a scalar T is the current t, a column vector Y
approximates y(t),
and a column vector YLAGJ approximates y(t - tau_j) for delay
tau_j = LAGS(J).
ezdde.zip
contains the two drivers and three
example programs EZDDEX1, EZDDEX2, EZDDEX3. The example programs are the example
programs DDEX1,DDEX2,DDEX3 of DDE23 and DDESD coded to use a different
syntax for the differential equations. The many example programs provided
in MFILES6.ZIP with the DDE Tutorial of Matlab have been recoded for EZDDE23.
(They work with DDESD as well.) This is not just a matter of changing to
the new syntax for the equations. Since MFILES6.ZIP was assembled,
the functionality of DDEVAL was included in the built-in function DEVAL, making
DDEVAL obsolete. A number of the programs were recoded to pass parameters
to nested functions instead of through the various call lists. The new
versions are available in the file
ezmfiles.zip.