Szükséges csomagokA program futtatásához telepítened kell a numpy és matplotlib könyvtárakat. Ezt a parancssorban (terminálban) a következő paranccsal teheted meg:pip install numpy matplotlib
import numpy as np
import matplotlib.pyplot as plt
# r paraméterek tartománya (2.8-tól 4.0-ig, ahol a káosz megjelenik)
r_min = 2.8
r_max = 4.0
max_r = 10000
iterations = 1000
last_iterations = 100
# Rács és kezdeti populáció beállítása
r = np.linspace(r_min, r_max, max_r)
x = 1e-5 * np.ones(max_r)
# Grafikon inicializálása
plt.figure(figsize=(10, 6), dpi=100)
# Iterációk futtatása és a stabil állapotok rögzítése
for i in range(iterations):
x = r * x * (1 - x)
if i > (iterations - last_iterations):
plt.plot(r, x, ',k', alpha=0.05)
# Diagram csinosítása
plt.title("Logisztikus leképezés - Bifurkációs diagram", fontsize=14)
plt.xlabel("Növekedési ráta (r)", fontsize=12)
plt.ylabel("Populáció szintje (x)", fontsize=12)
plt.xlim(r_min, r_max)
plt.ylim(0, 1)
plt.show()
Mit látsz az ábrán?Rend (Kis r értékek): A populáció egyetlen fix pontban stabilizálódik.Periodicitás (r ≈ 3.0 körül): A vonal kettéválik, a populáció két érték között ingadozik.Bifurkációs kaszkád: A vonalak egyre többször ágaznak el (4, 8, 16 felé), ami a káoszhoz vezető utat jelzi.Káosz (r ≈ 3.57 felett): A rendszer teljesen kaotikussá válik, az értékek ugrálnak, de a sötétebb sávokon belül felfedezhető az önhasonlóság (frakálmok) tulajdonsága.
Nincsenek megjegyzések:
Megjegyzés küldése