Article 4Y08X Logistic trajectories

Logistic trajectories

by
John
from John D. Cook on (#4Y08X)

This post is a follow-on to the post on how to make the logistic bifurcation diagram below.

logistic_bifurcation.png

That post plotting the attractors for iterations of

f(x) = r x(1 - x).

This post will plot a few trajectories over time for differing starting points and varying values of r.

For values of r less than 3, the iterations converge to the same point regardless of where they start. The fixed point only depends on r. In the plot below, r = 0.29. We start from two different initial points, x = 0.55 and x = 0.71. Both trajectories oscillate toward a common limiting value. (As explained in the earlier post, the limiting value is (r-1)/r = 0.6786.)

trajectory1.png

For values of r a little greater than 3, the iterations oscillate between two values. Here we chose r = 3.1, and again we start from x = 0.55 and x = 0.71.

trajectory2x.png

For some larger value of r the iterations rotate between four values, then eight, etc. But for even larger values of r the trajectories are chaotic. Nearby starting points lead to divergent iterations. In the plot below, r = 3.7, which is in the chaotic region. We start with points close to each other, x = 0.5001 and x = 0.5002.

trajectory_chaosx.png

Notice how the blue crosses and green x's are on top of each other for the first 30 iterations or so, then they diverge.

These plots were created using the following Python code.

import numpy as npimport matplotlib.pyplot as pltdef f(x, r): return r*x*(1-x)def time_plot(x0, y0, r, name): N = 80 x = np.zeros(N) y = np.zeros(N) x[0] = x0 y[0] = y0 for i in range(1,N): x[i] = f(x[i-1], r) y[i] = f(y[i-1], r) t = np.arange(N) plt.plot(t, x, "b+") plt.plot(t, y, "gx") plt.legend([str(x0), str(y0)]) plt.title(f"r = {r}") plt.savefig(name) plt.close()
More on sensitivity9hegTY_nkKY
External Content
Source RSS or Atom Feed
Feed Location http://feeds.feedburner.com/TheEndeavour?format=xml
Feed Title John D. Cook
Feed Link https://www.johndcook.com/blog
Reply 0 comments