# BALISTICKA DEPOZICE # nacteme grafickou knihovnu a numericku knihovnu import matplotlib as mpl from matplotlib import pyplot as plt import numpy as np # definujeme rozmer mrizky a pocet kroku a interval pro vypocet hrubosti pocet = 100 roz = 100 krok = 30000 inter = 30 # vytvorime pole naplnene nulami pro stavy a pro hrubost stav = np.zeros(roz,dtype=float) hrub = np.zeros(krok/inter,dtype=float) sumhrub = hrub for j in range(pocet): # v kazdem kroku nahodne vybereme bunku a zvysime jeji hodnotu o 1 hrub = np.zeros(krok/inter,dtype=float) stav = np.zeros(roz,dtype=float) for i in range(krok): nahod = np.random.randint(roz) stav[nahod] = max(stav[nahod]+1.,stav[(nahod -1) % roz],stav[(nahod+1) % roz]) if i % inter == 0: hrub[i/inter] = np.sqrt(1./roz*np.sum(stav**2) - (1./roz*np.sum(stav))**2) sumhrub += hrub sumhrub *= 1./pocet # nakreslime graf vyvoje hrubosti # funkce linspace rovnomerne rozdeli pocet kroku na intervaly body = np.linspace(0,krok-inter,krok/inter) hrubplot = plt.plot(body,sumhrub ,'r',linewidth=2,label='hrubost') plt.xlabel('krok') plt.ylabel('hrubost') plt.show()