[Date Index]
[Thread Index]
[Author Index]
Re: newbie: programmatic sequence of plots?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg96822] Re: newbie: programmatic sequence of plots?
*From*: "m.g." <mg at michaelgamer.de>
*Date*: Wed, 25 Feb 2009 04:07:58 -0500 (EST)
*References*: <go0j4b$n0o$1@smc.vnet.net>
On 24 Feb., 11:45, Tom Roche <tlro... at gmail.com> wrote:
> How to get a programmatic sequence of plots?
>
> As advertised by the Subject:, I'm new to Mathematica (specifically
> 7.0.0 for Students for 32-bit Windows on XP Pro) so please excuse any
> lapses in terminology. I'd also appreciate pointers to specific docs
> rather than just an RTFM.
>
> Since I'm currently unable to model the logistic map y=a y (1-y) (see
> previous post) I'm trying to do a series of plots of it, to see how
> behavior changes over time. I can get a plot of a single instance with
>
> Clear[a,y,y0,nRecurr];
> a=3.5;
> y0=0.4;
> nRecurr=50;
> ListPlot[
> RecurrenceTable[{y[n+1]==a y[n] (1-y[n]),y[0]==y0},
> y,{n,1,nRecurr}],Joined->True
> ]
>
> I can get a sequence of tables of values with
>
> Clear[a, y, y0, nRecurr, yinit, yinc, yfinal];
> a = 3.5;
> nRecurr = 50;
> yinit = 0.1;
> yinc = 0.01;
> yfinal = 0.2;
> For[y0 = yinit, y0 <= yfinal, y0 += yinc, Print[y0, ":\n",
> RecurrenceTable[{y[n + 1] == a y[n] (1 - y[n]), y[0] == y0}, =
y, {n,
> 1, nRecurr}]]]
>
> But when I try to plot those values with
>
> Clear[a, y, y0, nRecurr, yinit, yinc, yfinal];
> a = 3.5;
> nRecurr = 50;
> yinit = 0.1;
> yinc = 0.01;
> yfinal = 0.2;
> For[y0 = yinit, y0 <= yfinal, y0 += yinc,
> ListPlot[
> RecurrenceTable[
> {y[n + 1] == a y[n] (1 - y[n]), y[0] == y0}, y, {n, 1=
, nRecurr}
> ]
> ,Joined->True]
> ]
>
> I get absolutely nothing: no plot, no error message, no nada.
> Similarly, when I try to plot the difference between two runs of the
> map with
>
> seqDiff[a_,y_,inc_]:=Module[
> {r=y,s=y+inc},
> ListPlot[
> Table[r=a r (1-r),{50}]-Table[s=a s (1-s),{50}],
> Joined->True,PlotRange->{-1,1}
> ]
> ]
> seqDiff[4.0,0.3,0.1]
>
> I get a plot. But when I try to put that inside a for loop
>
> Clear[a, i,init,inc,final];
> a = 4.0;
> init=0.3;
> inc=0.1;
> final=0.5;
> For[i=init,i<=final,i+=inc,seqDiff[a,i,inc]]
>
> I get nothing: no plot, no error message.
>
> What am I doing wrong? How to get a series of plots?
>
> TIA, Tom Roche <Tom_Ro... at pobox.com>
Hello Tom,
I think the reason for getting no graphics output ist, that your code
produces graphics-objects and these are not shown in this loop. To
show them you could do it like this: gatheriong the objects in a bag
and showing at the end o calculation (it=B4s a quick and dirty
modification of your code - I know - this could be done much more
elgenatly, eg. with an own Module).
Clear[a, y, y0, nRecurr, yinit, yinc, yfinal];
a = 3.5;
nRecurr = 50;
yinit = 0.1;
yinc = 0.01;
yfinal = 0.2;
out = {}; (* modification
here *)
For[y0 = yinit, y0 <= yfinal, y0 += yinc,
AppendTo[out, (* modification here
*)
ListPlot[
RecurrenceTable[{y[n + 1] == a y[n] (1 - y[n]), y[0] == y0},
y, {n, 1, nRecurr}]]];
];
out (* modification
here *)
Have you seen the excellent example of the logisitc map in the help
referring to the function RecurrenceTable (-> bifurcation of the
logistic map)?
Greetings
Mike
Prev by Date:
**Re: newbie: programmatic sequence of plots?**
Next by Date:
**Re: newbie: how to define, typeset a multi-rule function?**
Previous by thread:
**Re: newbie: programmatic sequence of plots?**
Next by thread:
**Re: newbie: programmatic sequence of plots?**
| |