f[x_, a_]  :=  (1 - a) x  +  a (x^3)

(For a more complete description of the dynamics of these polynomials see T. LoFaro (1997) The Dynamics of Symmetric Bimodal Maps, International Journal of Bifurcation and Chaos, 7:2735-2744.)

?PlotIterates

PlotIterates[f[x, 3.1], {x, -1, 1}, { .1}];

You can also simultaneously generate stairstep diagrams for multiple initial conditions as in the following example.  Each initial condition is colored differently.

PlotIterates[
        f[x, 3.1], {x, -1, 1}, {- .1,  .1}];

PlotIterates[f[x, 3.1], {x, -1, 1}, {- .1,  .1},  
        Iterations  ->  20,  Transients  ->  10];

PlotIterates[f[x, 3.1], {x, -1, 1}, {- .1,  .1},  
        Composition  ->  2];

?ListIterates

example1  =  
      ListIterates[f[x, 3.1],  {x,  .1},  
        Iterations  ->  20]

We can plot this list by using the built-in ListPlot function.

ListPlot[example1[[1]],  
        AxesLabel ->  {"n", "x[n]"},  
        PlotStyle  ->  PointSize[ .02]];

This package also contains the function Bifurcation that will generate bifurcation diagrams of a family of functions.

?Bifurcation

As in the PlotIterates command, multiple initial conditions can be specified.  These intial conditions will be used for every parameter value.  The Transients and Iterations options are identical to those described above.  The Slices option is used to specify the number of equally spaced parameter values that should be used in generating the bifurcation diagram.  Below is an example using the family of functions described above.

Bifurcation[f[x, a], {x, - .5,  .5}, {a, 2.5, 3.6},  
        Iterations  ->  60,  Slices ->  150];

If you find this package useful you may download it by clicking here.  Comments and/or suggestions can be emailed to tlofaro@gustavus.edu

Copyright notice