Re: Integrating Differential Equations with Time Delay

• To: mathgroup at smc.vnet.net
• Subject: [mg75642] Re: Integrating Differential Equations with Time Delay
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Mon, 7 May 2007 05:38:29 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <f1eqpt\$59j\$1@smc.vnet.net> <f1hmhp\$pij\$1@smc.vnet.net> <f1jq67\$3jt\$1@smc.vnet.net>

```rob wrote:
> Jean-Marc Gulliet wrote:
>
>> Haider Arafat wrote:
>>
>>> I am not able to use NDSolve to integrate a differential equation of the
>>> form
>>>
>>> u''(t) + a u(t) == b u(t-tau);
>>> u(0) == u0;
>>> u'(0)==udot0;
>>>
>>> where tau, a, and b are all constants. Is there any way to numerically
>>> integrate this type of equations
>>> in Mathematica.
>>>
>>> Any help is appreciated,
>>>
>>> Haider Arafat
>>
>> Allan Hayes's package NDelayDSolve should be of interest: "The package
>> extends the built-in function NDSolve to deal with delay differential
>> equations." See "Delay-Differential Equations" at
>> http://library.wolfram.com/infocenter/MathSource/725/
>>
>> Regards,
>> Jean-Marc
>>
>
> Hi, I got this package and I believe it loads ok. But I
> can't seem to get it to work. I read the text in the top of
> the NDelayDSolve.m file (I found no other sources of
> documentation for it) and I've tried many ways to get it to
> work. Here's what I did:
>
> a=1; b=1; tau=6; u0=0; udot0=0;
>
> <<"NDelayDSolve`"
>
> eqns={u''[t] + a u[t] == b u[t - tau], u[0] == u0, u'[0] ==
> udot0}
>
> sol = NDelayDSolve[eqns, {u -> (#1 &)}, {t, 0, 5}]
>
> But I get the following err. message (snipped)
>
> NDSolve::"ndnco" : "The number of constraints (4) (initial
> conditions) \is not equal to the total differential order of
> the system (2).....
>
> I tried all sorts of groupings of the DE and the two
> constraints and with most other attempts the error message
> goes away but the sol= statement is just repeated and not
> evaluated. In short it thinks my 2 constraints are 4 or it
> doesn't do anything at all. Could you perhaps suggest
> something that would make this system work? Thank you.
>

I am not really familiar with the package, but the following expression
might return the solution you are looking for.

sol = NDelayDSolve[{Derivative[2][u][t] + a*u[t] ==
b*u[t - tau]}, {u -> (#1 & ), Derivative[1][u] ->
(0 & )}, {t, 0, 5}]
Plot[{u[t] /. sol[[1]], Derivative[1][u][t] /.
sol[[1]]}, {t, 0, 5}]

Regards,
Jean-Marc

```

• Prev by Date: Re: Re: unable to "evaluate notebook"
• Next by Date: Re: AiryAi
• Previous by thread: Re: Integrating Differential Equations with Time Delay
• Next by thread: MathKernel Crash while calculating limit