Ich möchte ein Diagramm für Parameter a. Für jeden Wert von a möchte ich die Flugbahn der Karte nach dem ersten Übergang zeigen und sie auf der y-Achse darstellen. Im Beispiel unten nehme ich 200 Punkte in einem (Parameter, der von 1 bis 4 reicht), führe 1000 Schritt-Iterationen für jedes a aus und zeichne x nach dem Überspringen von 100 Schritten auf. Um dies zu implementieren ich zwei Funktionen (iterate und Logistik):Diagramm Chaos-Funktion mit Python
def logistic(x, a):
return(a*x*(1 - x))
def iterate(f, x0, a, steps=1000):
"""x0: initial value
a: parameter to f(x,a)"""
x = np.zeros(steps+1)
x[0] = x0
for k in range(steps):
x[k+1] = f(x[k], a)
return(x)
n = 200 # points in a
a = np.arange(1,4,3/n)
s = 1000 # steps for each a
x = iterate(logistic, 100, a, 1000)
plt(x)
Aber ich erhalte den folgenden Fehler: Valueerror: ein Array-Element mit einer Sequenz festlegen. Könnte jemand helfen?
EDIT
Dieses das Diagramm I
Also, was ich versuche, ist ein Diagramm der Trajektorien zu plotten. Für jeden der 200 Werte des Parameters 'a' möchte ich 1000 mal x entsprechend der logistischen Funktion durchlaufen. Extrahiere dann die letzten 900 Werte des iterierten x und zeichne es gegen den Parameter a. Dies sollte für jeden von 1 bis 4 wiederholt werden (200 von ihnen insgesamt). – StudentOIST
Ich aktualisierte meine Frage mit einem Bild des Diagramms, das ich versuchen möchte, um dies klarer zu machen – StudentOIST