File:SineMapOrbitDiag2.png

From Wikiversity
Jump to navigation Jump to search

Original file(9,600 × 5,400 pixels, file size: 1.64 MB, 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 Python code adapted from Wikipedia article on Logistic map:
import numpy as np
import math
import matplotlib.pyplot as plt

preset = 1

markerSize = 0.001
saveFigure = True
markerStyle = "," # . - point; , - pixel
if preset == 1: # Diagram with positive c values in [0, 1]
  presetNote = "Initialize to 0\n; limit c to [0, 1] despite interesting patterns existing outside of it"
  presetNote = ""
  cInterval = (0, 1)
  cResolution = 0.0001
  mapIterationCount = 1000
  lastMapIterationCountToPlot = 1000
  startingIterationValue = 0.5
  fileName = "SineMapOrbitDiag2.png"
  yLim = (0, 1)
if preset == 2: # Diagram with positive and negative c values
  presetNote = "Initialize to 0\n"
  cInterval = (-4, 4)
  cResolution = 0.001
  mapIterationCount = 500
  lastMapIterationCountToPlot = 500
  startingIterationValue = 0.5
  fileName = "SineMapOrbitDiag2_BroadCRange.png"
  yLim = (-1.1, 1.1)
if preset == 3: # Diagram with positive and negative c values, skipping early iterations
  presetNote = "Initialize to 0\n"
  cInterval = (-4, 4)
  cResolution = 0.001
  mapIterationCount = 5000
  lastMapIterationCountToPlot = 500
  startingIterationValue = 0.5
  fileName = "SineMapOrbitDiag2_BroadCRange_SkipEarlyIter.png"
  yLim = (-1.1, 1.1)
  
lims = np.zeros(mapIterationCount)

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

itemCount = 0
for c in np.arange(cInterval[0], cInterval[1], cResolution):
  itemCount += 1
  lims[0] = startingIterationValue
  for i in xrange(mapIterationCount - 1):
    lims[i + 1] = math.sin(c * math.pi * lims[i])
  if itemCount % 1000 == 0:
    print("Parameter values processed:", itemCount)

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

biax.set(xlabel="c", ylabel="x",
         title="Sine map - sin(c * pi * x) - bifurcation diagram/orbit diagram" + "\n" +
                presetNote +
               "c resolution: " + str(cResolution) +
               ", 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 of the sine map

Items portrayed in this file

depicts

9 February 2024

File history

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

Date/TimeThumbnailDimensionsUserComment
current09:59, 9 February 2024Thumbnail for version as of 09:59, 9 February 20249,600 × 5,400 (1.64 MB)Dan PolanskyUploaded own work with UploadWizard

The following page uses this file:

Metadata