Main /
ModelDDEvsODEDifferences in how you specify the problemA so-called initial-value problem for an ordinary differential equation (ODE) is completely determined by the equation itself: {$ x'(t) = f(t,x(t)) $} (where f is a smooth-enough function) and the value of the state at the initial instant of time {$ x(t_0) = x_0 $}. (Yes, the state can be composed of several EJS variables, including arrays.) With this information, the solvers can proceed to find the numerical solution of the ODE. But, for a delay differential equation (DDE), the problem requires the equation: {$ x'(t) = f(t,x(t),x(t-\tau_1),x(t-\tau_2),\ldots,x(t-\tau_n))$} (where f is again a smooth-enough function) and the values of the state for all past values of time: {$ \{ x(t), \mbox{ for } t \le t_0 \} $}. (Well, to be precise, at least as far in the past as the maximum delay, {$ t_0 - \max(\tau_1, \tau_2,\ldots, \tau_n) \le t \le t_0 \} $}). We call these values in EJS, the pre-initial conditions. Differences in how the solvers workThere are also differences in how the solvers proceed to step the solution of an DDE in time. In particular, one must take care in propagating correctly in time the discontinuities of the pre-initial conditions. EJS takes care of all these subtleties and requires only the minimum information that must be provided by you. |