Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1996
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1996

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

Search the Archive

Trouble with NDSolve Function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg5374] Trouble with NDSolve Function
  • From: wdavis at csranet.com (Wayne Davis)
  • Date: Thu, 5 Dec 1996 14:50:16 -0500
  • Organization: From Home
  • Sender: owner-wri-mathgroup at wolfram.com

I have had some trouble getting the Mathematica NDSolve function to accept
and solve problems containing certain types of conditionals in the dif eq,
even though the problem seems properly stated to me. I am attaching an
example and would like to know what I'm doing wrong. (It appears that the
assignments don't get substituted into the conditional terms so that
NDSolve can handle them as numerical values).

imax=3;ya=100.;k=.5;c=.1;tmax=2.;
q[1]=If[t<1,10.,0];
q[imax+1]=0.;
q[i_]=If[y[i-1][t]>ya,q[i-1],k (y[i-1][t]-y[i][t])];
difeqs=Table[c y[i]'[t]==q[i]-q[i+1],{i,1,imax}];
ics=Table[y[i][0]==25,{i,1,imax}];
eqs=Flatten[Join[difeqs,ics]];
vars=Table[y[i],{i,1,imax}];
soln=NDSolve[eqs,vars,{t,0,tmax}]
NDSolve::ndnum:
   Differential equation does not evaluate to a number at
    t = 0..
{{y[1] -> InterpolatingFunction[{0., 0.}, <>],

   y[2] -> InterpolatingFunction[{0., 0.}, <>],

   y[3] -> InterpolatingFunction[{0., 0.}, <>]}}

Thanks in advance for any help.

Don Paddleford
Westinghouse Savannah River Company

-- 
Wayne Davis                 Q:  What has four legs and one arm?
wdavis at csranet.com          A:  A happy Pit Bull


  • Prev by Date: Abs[]
  • Next by Date: Re: XMathematica: can't open display, exiting...
  • Previous by thread: Abs[]
  • Next by thread: Re: Trouble with NDSolve Function