Search:

# ModelDDEWhatIs

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, {$$x'(t) = f(t,x(t),x_{\tau})$$} where {$x_{\tau} = \{ x(s) : \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: {$$x'(t) = f(t,x(t),x(t-\tau_1),x(t-\tau_2),\ldots,x(t-\tau_n))$$} where {$\tau_1, \tau_2,\ldots, \tau_n$} 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:
• {$x'(t) = -x(t-1)$}
• {$y_1'(t) &=& -y_1(t)y_2(t-1)+y_2(t-10) \\ y'_2(t) &=& y_1(t)y_2(t-1)-y_2(t) \\ y'_3(t) &=& y_2(t) - y_2(t-10)$}
• but CANNOT solve the DDE:
• {$x'(t) = x(t)+x(t/2)$} (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