Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*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 2004

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

Search the Archive

i dont understand module.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46542] i dont understand module.
  • From: sean_incali at yahoo.com (sean kim)
  • Date: Sun, 22 Feb 2004 11:27:51 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

hello goup. 

I just don't get this. this code was posted while back by Bob Hanlon. 

All i did was to flank the routine by a module. i did so to minimize
memory used. I was hoping that by keepign things local, i can minimize
the resources used in the routine.

In[1]:=
Needs["Graphics`"];

Module[{},
  sol=NDSolve[{a'[t]==-0.1` a[t] x[t], b'[t]==-0.05` b[t] y[t], 
              x'[t]==-0.1` a[t] x[t]+0.05` b[t] y[t], 
              y'[t]==0.1` a[t] x[t]-0.05` b[t] y[t],
a[0]==1,b[0]==1,x[0]==1,
              y[0]==0}, {a,b,x,y},{t,0,250}][[1]]
        
        Plot[Evaluate[#[[2]][t]& /@ sol],{t,0,250}, 
          PlotStyle->Table[Hue[(k+1)/6],{k,4}], Frame->True,
Axes->False,
          PlotLegend->(#[[1]]& /@ sol), LegendPosition->{1,-.35},
          LegendShadow->{0, 0} , ImageSize->400]; 
  ]
above fails with the following error. 

Plot::plnr: sol is not a machine-size real number at t = \
0.000010416666666666666`.

if i flank the module with Do loop, then I get recursion errors

In[5]:=
Needs["Graphics`"];

Do[
  Module[{},
    sol=NDSolve[{a'[t]==-0.1` a[t] x[t], b'[t]==-0.05` b[t] y[t], 
                x'[t]==-0.1` a[t] x[t]+0.05` b[t] y[t], 
                y'[t]==0.1` a[t] x[t]-0.05` b[t] y[t],
a[0]==1,b[0]==1,
                x[0]==1,y[0]==0}, {a,b,x,y},{t,0,250}][[1]]
          
          
          Plot[Evaluate[#[[2]][t]& /@ sol],{t,0,250}, 
            PlotStyle->Table[Hue[(k+1)/6],{k,4}], Frame->True,
Axes->False,
            PlotLegend->(#[[1]]& /@ sol), LegendPosition->{1,-.35},
            LegendShadow->{0, 0} , ImageSize->400]; 
    ],
  {iteration, 10}]

$RecursionLimit::reclim: Recursion depth of 256 exceeded.

what's going on here?  and how do i fix it so that i can run it
automatically?

thanks all in advance. 

sean


  • Prev by Date: Re: Mathlink and C#
  • Next by Date: Re: Bernoulli variable algebra
  • Previous by thread: Re: Bernoulli variables again
  • Next by thread: RE: i dont understand module.