__**Was wir heute gemacht haben:**__ - Nagel-Schreckenberg-Modell(1D Zellularautomat) in Python coden: Das Nagel-SChreckenberg-Modell ist eine Stausimulation. Wir haben die vier Grundregeln auf eine Anfangskonfiguration angewandt und eine Endkonfiguration nach einem Zeitschritt bekommen. **__Ziele für den nächsten Termin:__** - Code optimieren (Programm in Funktion implementieren, evtl graphisch darstellen, evtl periodischen Randbedingungen ausprobieren) import numpy as np import random import matplotlib.pyplot as plt p=0.15 t=10 #fahrtrichtung rechts #naechstes mal zeitliche implementierung a=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5]) b=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5]) c=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5]) g=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5]) e=np.array([0,0,0,0,3,0,0,0,0,4,0,0,0,2,0,0,0,0,5]) print(a) for k in range(t): a=e #erster zwischenschritt: for i in range(len(a)): if a[i]>0 and a[i]<5: b[i]=a[i]+1 #zweiter zwischenschritt: #plan für jede stelle #zahl mit differenz vergleichen #falls differenz kleiner als zahl #zahl=differenz for i in range(len(a)): if b[i]>=1: #differenzmessen d=1 while b[(i+d)%len(a)]==0: d=d+1 if b[i]>=d: c[i]=d-1 else: c[i]=b[i] #dritter zwischenschritt: for i in range(len(a)): if c[i]<=1: continue else: if random.random() < p: g[i]=c[i]-1 else: g[i]=c[i] #vierter zwischenschritt: # for i in range(len(a)): if g[i]>0: e[i]=0 e[(i+g[i])%len(a)]=g[i] print(e) #print(b) #print(c) #print(g) #zeile