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ů)

In [3]:
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}$

In [5]:
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

In [7]:
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.

In [9]:
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$

In [11]:
v = omega*r

Vytvoříme si pole s, které bude obsahovat dráhu, kterou hmotný bod urazil v čase t.

In [13]:
s = np.empty(np.size(t)) #pole obsahující dráhu, kterou hmotný bod urazil

Výpočet dráhy numerickou integrací

In [15]:
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

In [17]:
plt.plot(t,s)
plt.xlabel("čas")
plt.ylabel("dráha")
plt.show()
No description has been provided for this image

Celková dráha, kterou hmotný bod urazil za dobu $T$ jednoho oběhu po kružnici, $s = \int_0^T v\,dt$

In [19]:
print(f"celková dráha je {np.max(s):4.2f} m")
celková dráha je 6.28 m