MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

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