[Date Index]
[Thread Index]
[Author Index]
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**
| |