Numerická integrace¶
příklad výpočtu dráhy hmotného bodu, který se pohybuje rovnoměrným pohybem po kružnici, numerickou integrací
importujeme knihovny numpy
(na numerické výpočty) a matplotlib
(na kreslení grafů)
import numpy as np
import matplotlib.pyplot as plt
Zadáme parametry pro rovnoměrný pohyb po kružnici:
$r$ je poloměr kruhové trajektorie
$T$ je perioda pohybu (tj. doba za kterou hmotný bod oběhne celou kružnici)
úhlová frekvence pohybu bude tedy $\omega = \frac{2\pi}{T}$
r = 1 #poloměr trajektorie 1 m
T = 1 #perioda pohybu 1 s
omega = 2 *np.pi/T #=uhlová frekvence
Zvolíme časový krok dt
pro výpočet numerickou integraci
dt = T/1000 #časový krok pro numerický výpočet derivace (zde tisícina periody)
Vytvoříme pole t
obsahující časy, ve kterých chceme vypočítat souřadnice hmotného bodu, a souřadnice hmotného bodu, který se pohybuje rovnoměrným pohybem po kružnici.
Souřadnice hmotného bodu v časech t
budou v polích x
a y
.
t = np.arange(0,T,dt) #pole časů
x = r*np.cos(omega*t) #x-ová souřadnice
y = r*np.sin(omega*t) #y-ová souřadnice
Velikost rychlost hmotného bodu pohubujícího se rovnoměrným pohybem po kružnici je $v=\frac{2\pi r}{T}=\omega r$
v = omega*r
Vytvoříme si pole s
, které bude obsahovat dráhu, kterou hmotný bod urazil v čase t
.
s = np.empty(np.size(t)) #pole obsahující dráhu, kterou hmotný bod urazil
Výpočet dráhy numerickou integrací
s[0] = 0
for i in range(1,np.size(t)):
s[i] = s[i-1] + v*dt
obrázek jak s časem postupně narůstá dráha
plt.plot(t,s)
plt.xlabel("čas")
plt.ylabel("dráha")
plt.show()
Celková dráha, kterou hmotný bod urazil za dobu $T$ jednoho oběhu po kružnici, $s = \int_0^T v\,dt$
print(f"celková dráha je {np.max(s):4.2f} m")
celková dráha je 6.28 m