Bifurcation Diagram 
of the 
Logistic Map

Il file è modificato rispetto a quello standard distribuito con Mathematica

Discussion and Implementation

The parametrized family of functions given by

f[c_, x_] := c x (1 - x)

is called the logistic or quadratic family.  For each fixed c between 0 and 4, a member of the quadratic family maps the interval between 0 and 1 into itself.  Here are plots of f[c,x] for 
c = 1, 2, 3, and 4.

Plot[Evaluate[Table[f[c, x], {c, 0, 4}]], {x, 0, 1}]

Starting with a point x between 0 and 1, we compute f[c, x].  Since f[c, x] is also between 0 and 1, we can compute f[c, f[c,x]], and so on.  This process is called iteration and can be expressed very succinctly using the Mathematica  function NestList. Let's fix c = 3 and compute the first 20 iterations of the point x = .5.

g[x_] := f[3, x]

l = NestList[g,  .5, 20]

ListPlot[l]

ListPlot[l, PlotJoined -> True]

Notice that this seems to be settling into a repetitive pattern of period 2. Let's increase the value of c a little.

g[x_] := f[3.5, x]

ll = NestList[g,  .5, 20]

ListPlot[ll, PlotRange -> {0, 1}]

Now we get a repeating pattern of period 4. If c were increased again we would see period 8, and then period 16, etc. This process is called period doubling and culminates at the Feigenbaum Point (about c = 3.5699456718...).

Our method for changing c above was rather awkward. An elegant way to examine the behavior as c changes is to use  FoldList to simultaneously iterate and sweep the parameter.

logistic[n_Integer] := 
      Module[{f, t, x}, 
f = 
          Compile[{x, t}, 
            Evaluate[(3 + (t/n)) x (1 - 
                    x)]]; 
FoldList[f, 0.223, 
          Range[n]]]

ListPlot[logistic[8000], PlotStyle -> PointSize[0.001]]

The next input cell produces a sound cell. You can clearly hear the period doubling route to chaos. Note also that there is a period three window in a  parameter interval to the right of the Feigenbaum point. It has recently been proved that such stable windows (with various periods) occur densely in the parameter values.

ListPlay[logistic[8000]];

Double-click the top of the next cell bracket (the speaker-shaped icon)  to play a sound once. Note that to play sounds in Mathematica your computer must be equipped with a sound card.

Copyright 1991-93 Wolfram Research, Inc.