MathGroup Archive 2003

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

Search the Archive

Re: Specify Step Size in NDSolve

  • To: mathgroup at
  • Subject: [mg44678] Re: Specify Step Size in NDSolve
  • From: "Curt Fischer" <crf3 at>
  • Date: Thu, 20 Nov 2003 03:16:43 -0500 (EST)
  • References: <bpffca$lt1$>
  • Sender: owner-wri-mathgroup at

"Andrea" <andrea.knorr at> wrote in message
news:bpffca$lt1$1 at
> I posted the following message Friday the 14th of November, but have
> not yet seen it, so I apologize if you see this twice.
> I am using NDSolve, and have run into an error with the step size it
> is using. I get errors at very small times. Mathematica will
> continue beyond this time point, but results are very inaccurate.

I think the reason NDSolve was failing was that your equations were highly
stiff, given the value of T that you are using!  You might have tried
specifying an implicit method such as BDF or ImplicitRungeKutta.  (That
might not have solve the problem either, though--I'm not sure what the
default method for NDSolve is.  Maybe it is smart already tried those.)

> soln=NDSolve[{
> y'[t]== k v[t] T -delta y[t],
> v'[t]== n delta y[t]-c v[t],
> y[0]==7016819, v[0]== 2220151},
> {y,v},{t,0,1500}, MaxSteps->{10^5}];

But these equations are linear and a symbolic solution is available!  These
are the inputs from a Mathematica session in which I solved your equations
analytically with DSolve and plugged in the value of the parameters you
wanted (output deleted to save space).

T = 343824133;

soln = DSolve[{
y'[t] == k v[t] T - delta y[t],
v'[t] == n delta y[t] - c v[t],
y[0] == 7016819, v[0] == 2220151},
{y[t], v[t]}, {t}]

{y[t], v[t]} /. soln[[1]] /. {k -> 0.0297, delta -> 4.51, n -> 46.38,
c -> 6.145}

  • Prev by Date: Re: FindMinimum Problem
  • Next by Date: IO-Performance of Mathematica 4.1
  • Previous by thread: Specify Step Size in NDSolve
  • Next by thread: list of valid types of input and output for each mathematica function