File:LogisticMapOrbitDiag P3Zoom.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file (9,600 × 5,400 pixels, file size: 2.71 MB, MIME type: image/png)

Captions

Captions

An orbit diagram of the logistic map, zoomed on the period-3 window

Summary

[edit]
Description
English: Produced by the following Python code adapted from Wikipedia article Logistic map:
import numpy as np
import matplotlib.pyplot as plt

preset = 5

saveFigure = True
markerSize = 0.001
markerStyle = "," # . - point; , - pixel
progressReportBlockLen = 1000
if preset == 1: # Complete diagram on the conventional range
  rInterval = (-0.1, 4.1)
  rResolution = 0.0005
  mapIterationCount = 1000
  lastMapIterationCountToPlot = 1000
  startingIterationValue = 0.5
  yLim = (-0.1, 1.1)
  fileName = "LogisticMapOrbitDiag.png"
if preset == 2: # Complete diagram, including the negative r
  rInterval = (-2.1, 4.1)
  rResolution = 0.0005
  mapIterationCount = 1000
  lastMapIterationCountToPlot = 1000
  startingIterationValue = 0.5
  yLim = (-0.6, 1.6)
  fileName = "LogisticMapOrbitDiag_InclNegR.png"
if preset == 3: # Zoom on the leftmost bifurcation region
  rInterval = (3.54, 3.5705) #3.571
  rResolution = 0.000004
  mapIterationCount = 500 #1000
  lastMapIterationCountToPlot = 500
  startingIterationValue = 0.5
  yLim = (0.33, 0.9)
  fileName = "LogisticMapOrbitDiag_BifurcZoom.png"
if preset == 4: # Complete diagram on the conventional range, skip early iterates
  rInterval = (-0.1, 4.1)
  rResolution = 0.0005
  mapIterationCount = 10000
  lastMapIterationCountToPlot = 1000
  startingIterationValue = 0.5
  yLim = (-0.1, 1.1)
  fileName = "LogisticMapOrbitDiag_SkipEarlyIter.png"
  progressReportBlockLen = 100
if preset == 5: # Zoom into the period-3 window
  rInterval = (3.825, 3.865)
  rResolution = 0.000005
  mapIterationCount = 1000
  lastMapIterationCountToPlot = 1000
  startingIterationValue = 0.5
  yLim = (0.1, 1.0)
  fileName = "LogisticMapOrbitDiag_P3Zoom.png"
  
lims = np.zeros(mapIterationCount)

fig, biax = plt.subplots()
fig.set_size_inches(16, 9)

itemCount = 0
for r in np.arange(rInterval[0], rInterval[1], rResolution):
  itemCount += 1
  lims[0] = startingIterationValue
  for i in xrange(mapIterationCount - 1):
    lims[i + 1] = r * lims[i] * (1 - lims[i])
  if itemCount % progressReportBlockLen == 0:
    print("Parameter values processed:", itemCount)

  biax.plot([r] * lastMapIterationCountToPlot,
            lims[(mapIterationCount - lastMapIterationCountToPlot):], "b.",
            markersize=markerSize,
            marker=markerStyle)

biax.set(xlabel="c", ylabel="x",
         title="Logistic map - r * x (1 - x) - bifurcation diagram/orbit diagram" + "\n"
               "r resolution: " + str(rResolution) +
               ", iteration count: " + str(mapIterationCount) +
               ", last values to plot count: " + str(lastMapIterationCountToPlot))

biax.set_ylim(yLim[0], yLim[1])
if saveFigure:
  plt.savefig(fileName, dpi=600)
else:
  plt.show()
Date
Source Own work
Author Dan Polansky

Licensing

[edit]
I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution
This file is licensed under the Creative Commons Attribution 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current10:37, 9 February 2024Thumbnail for version as of 10:37, 9 February 20249,600 × 5,400 (2.71 MB)Dan Polansky (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

File usage on other wikis

The following other wikis use this file:

Metadata