What is a Delay Differential Equation?
A Delay Differential Equation (or DDE) is a differential equation in which the derivative of the function in one instant of time depends on the value of the function in previous instants. In mathematical terms,
 = f(t,x(t),x_{\tau}))
where
 : \mbox{ for some } s \le t \})
.
EJS can only solve DDEs with delays that are both discrete and constant. That is, equations of the form:
 = f(t,x(t),x(t-\tau_1),x(t-\tau_2),\ldots,x(t-\tau_n)))
where
remain constant while the DDE is being solved. (Though they can change value if the DDE is conveniently reinitialized. That is, you can associate the delays with a variable, but you need to reset the solver if you change the value of this variable.)
So, for instance, EJS:
- CAN solve the following DDEs:
- but CANNOT solve the DDE:
(Pantograph’s equation)
But, if EJS can solve your DDE, then you can expect all the goodies you are familiar with for ODEs:
- a good variety of algorithms available
- fine control on the algorithm’s parameters
- possibility to write preliminary code
- event handling
- error handling