Logistic Map Bifurcations

Math 242 Modern Computational Mathematics

Code from last class

The logistic map is the recurrence (Subscript[x, n+1])=r (Subscript[x, n])(1-(Subscript[x, n])), where 0<=r<=4 is a parameter. For any starting value 0<=(Subscript[x, 0])<=1, this recurrence defines a sequence of real numbers (Subscript[x, 0]),(Subscript[x, 1]),(Subscript[x, 2]),…. As last time, define (Subscript[f, r])(x)=r x(1-x):

f[r_][x_]:=r*x(1-x)

Recall that we can use NestList to compute logistic map trajectories:

NestList[f[0.8],0.4,20]

Furthermore, here is our cobweb plot module from last time:

cobwebPlot[f_,start_,numIter_,xmin_:0,xmax_:1]:=Module[{cob={{start,0}},prev=start,next,g1,g2},
(* build the list of points to plot *)
Do[
next=f[prev];
AppendTo[cob,{prev,next}];
AppendTo[cob,{next,next}];
prev=next,
numIter];

(* display the plot *)
g1=Graphics[{Purple,Opacity[0.3],Line[cob]}];
g2=Plot[{x,f[x]},{x,xmin,xmax},PlotStyle->{Blue,Black}];
Show[{g1,g2},Frame->True]
]

Stable fixed point if 1<r<3

NestList[f[2],0.3,20]

NestList[f[2],1/2,20]

NestList[f[5/2],0.2,20]

Consider r>3

cobwebPlot[f[32/10],.687,100]

NestList[f[32/10],0.687,100]

N[11/16]

Make a plot of (Subscript[f, r])((Subscript[f, r])(x)):

r=3.2
Plot[{x,f[r][f[r][x]]},{x,0,1}]

What happens at 3.45 or so?

r=3.6;
Plot[{x,f[r][f[r][x]]},{x,0,1},AspectRatio->1]

cobwebPlot[f[3.5],0.38,10000]

How could we determine the values in the 4-cycle that occurs for r=3.5?

traj=NestList[f[3.5],0.3,80]

tail=traj[[-50;;]]

Find all unique value in the tail:

DeleteDuplicates[Round[tail,0.0001]]

Length[DeleteDuplicates[Round[tail,0.0001]]]

We observe a 4-cycle when r=3.5.