File:LogisticMapOrbitDiag BifurcZoom.png

From Wikiversity
Jump to navigation Jump to search

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

This is a file from the Wikimedia Commons. The description on its description page there is shown below.

Commons is a freely licensed media file repository. You can help.

Summary

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

preset = 3

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
  
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

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.

Captions

An orbit diagram for the logistic map, a zoom on the leftmost bifurcation region

Items portrayed in this file

depicts

8 February 2024

File history

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

Date/TimeThumbnailDimensionsUserComment
current10:16, 9 February 2024Thumbnail for version as of 10:16, 9 February 20249,600 × 5,400 (434 KB)Dan PolanskyFocus closer on the plotted lines
14:31, 8 February 2024Thumbnail for version as of 14:31, 8 February 20249,600 × 5,400 (421 KB)Dan PolanskyUploaded own work with UploadWizard

The following page uses this file:

Metadata