DIAGRAMA DE BIFURCACIÓN DE LA FUNCIÓN LOGÍSTICA

Familia de curvas logística o cuadrática.

k:=500;
r=2.5

f[ r_,x_] := x*Exp[r*(1-x/k)]

g[x_]=f[f[r,x]]//Simplify

Plot[{g[x],x},{x,0,1200}]

FindRoot[g[x]==x,{x,200}]

FindRoot[g[x]==x,{x,550}]

FindRoot[g[x]==x,{x,1100}]

g'[x]/.{x->144.794}

g'[x]/.{x->500}

g'[x]/.{x->855.206}

Plot[Evaluate[Table[f[r, x], {r, 0,3}]], 
		{x, 0, 800}, PlotStyle->RGBColor[1,0,0]]

Comenzamos con un punto x entre 0 y 1, y calculamos  f[c,x]. Como f[c,x] sigue estando entre 0 y 1, tiene sentido escribir f[c,f[c,x]], y así sucesivamente. Este proceso es conocido con el nombre de iteración y podemos realizarlo con el programa Mathematica utilizando la orden  NestList. 
Empezamos fijando para c el valor de 3 y calculamos las 20 primeras iteraciones del punto 0.5.

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

NestList[g, 700, 200]

Resultado: Como puede observarse, los valores obtenidos tienden al punto de equilibrio 0.00482901

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

NestList[g, .1, 100]

Resultado: Como puede observarse, los valores obtenidos se repiten cada dos veces. La órbita es periódica de orden dos.

Supongamos ahora que el valor de c es 3.5

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

NestList[g, .5, 50]

Ahora los valores se repiten cada 4 veces.  Si aumentamos el valor de c, podríamos ver que se repiten cada 8, 16, 32, ... veces. Este prodeso donde cada periodo duplica al anterior, culmina hasta llegar a un valor de c que se conoce con el nombre de Punto de  Feigenbaum  (aproximadamente c = 3.5699456718...).

A continuación se repite el proceso anterior, pero variando a su vez el valor del parámetro, que se inicia con c = 0.223.

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

La celda próxima representa de forma sonora el efecto del barrido del parámetro c. Puede oirse como el periodo del sonido va doblandose hasta llegar al caos.

ListPlay[ricker[8000]]