# EZ versions of DDE23 and DDESD

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.

Last update: 2/12/08