Re: Specify Step Size in NDSolve

• To: mathgroup at smc.vnet.net
• Subject: [mg44678] Re: Specify Step Size in NDSolve
• From: "Curt Fischer" <crf3 at po.cwru.edu>
• Date: Thu, 20 Nov 2003 03:16:43 -0500 (EST)
• References: <bpffca\$lt1\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```"Andrea" <andrea.knorr at engr.uconn.edu> wrote in message
news:bpffca\$lt1\$1 at smc.vnet.net...
> 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).

In[1]:=
T = 343824133;

In[3]:=
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}]

In[5]:=
{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