Message Boards Message Boards

Can anyone provide code to construct a bifurcation diagram?

Posted 2 years ago

At the moment I am trying to construct a bifurcation diagram of the function:

X = RandomReal[{0, 1}];

Y = RandomReal[{0, 1}];

S[m_] : Abs[Cos[4*X*Y*\[Pi]*m (1 - m)]/Log[3 - 4*Y*m (1 - m)]];

Table[S[i], {i, 1, 10}]

I've searched the internet for pre-made bifurcation diagrams and found many of the logistic map. However, as the code is quite complicated I am not sure how to edit the code so that it deals with my function instead of the logistic one. Would anyone help me the code to create a bifurcation diagram for the above function?
I have check but it doesn't help me much.

Thanks in advance.

POSTED BY: Motilal khoirom

If one distinguishes an orbit diagram from a bifurcation diagram, where the bifurcation diagram shows periodic orbits, then you can use the more modern ImplicitRegion, e.g., the fixed points (for X=1) are given by

  Nest[Function[m, Abs[Cos[4*c*Pi*m (1 - m)]/Log[3 - 4*c*m (1 - m)]]],
     x, 1] == x, {{c, 0, 1}, {x, 0, 1}}]]

enter image description here Unfortunately, it seems to take too long for others. The basic idea of an orbit diagram is to drop the first 300 iterates which might mean you cut off the transients. Wishful thinking, but that's the standard thing to do. What you might be having trouble with is that you have two parameters (X and Y). Normally you just have one parameter. So here is a standard implementation of an orbit diagram.

  Point[{c, #} & /@ 
      Function[m, Abs[Cos[4*c*Pi*m (1 - m)]/Log[3 - 4*c*m (1 - m)]]], 
      RandomReal[], 400], 300]], {c, 0, .6, .01}], 
 PlotRange -> {{0, 1}, {0, 1}}]

You probably want to decrease the increment for c.

POSTED BY: Todd Rowland
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract