A mintapéldák között láttunk Felix Baumgartner ugrásával kapcsolatban több példát is. Határozzuk meg $g$ és $\alpha$ értékét a $v(t)$ függvény elejéhez vett lineáris, illetve a $t=210\dots260$ intervallumban illesztett konstans függvényekből! Itt is készítsünk szépen formázott ábrát! A szükséges adatok a ../data/v_vs_t
file-ban találhatóak. A file első oszlopa az esés ideje s-ban, a második oszlop a sebesség km/h-ban.
Egy egyenletesen $g$-vel gyorsuló test sebessége az idő függvényében az egyszerű $$ v(t)=gt $$ kifejezés szerint változik.
Az $\alpha$ közegellenállási együttható pedig a $$ \alpha=\frac{mg}{v^2} $$ kifejezésből kapható meg, ahol a $v$ sebesség a $v(t)$ függvény $t=210\dots260$ időintervallumban vett konstans illesztéséből adódó érték.
Először betöltjük a szükséges csomagokat.
%pylab inline
from scipy.optimize import curve_fit
Majd létrehozzuk az adatok
adattömböt a fájl adatai alapján.
adatok = loadtxt("../data/v_vs_t.txt")
Ezután definiáljuk a lineáris és konstans függvényeket, és ezeket ráillesztjük az adatsor megfelelő részeire:
def lin(x, a, b):
'''Visszaadja x függvényében az a meredekségű, b tengelymetszéssel rendelkező lineáris függvényt'''
return a * x + b
def const(x, a):
'''Visszaadja x függvényében az a értékű konstans függvényt'''
return a
l = curve_fit(lin, adatok[:55,0], adatok[:55, 1])
c = curve_fit(const, adatok[311:386,0], adatok[311:386,1])
Az illesztés ellenőrzéséért ábrázoljuk a függvényt
plot(adatok[:,0], adatok[:,1], label="a mért értékek")
plot(adatok[:55, 0], l[0][0]*adatok[:55, 0] + l[0][1], label="lineáris illesztés")
plot(adatok[311:386,0], c[0]*ones(75), label="konstans illesztés")
xlabel("idö", size=12)
ylabel("sebesség", size=12)
title("Baumgartner sebessége az idö függvényében", size=18, y=1.05)
legend(loc=0)
A mozgás elején a sebesség az idő függvényében egyenletesen nő, $g$ gyorsulással, vagyis az illesztett egyenes meredeksége adja $g$ értékét.
$\alpha$ értéke a megadott összefüggésből számítható, ahol $m$ Baumgartner 110 kg-s tömege, $g$ az előbb kiszámolt gyorsulás $v$ pedig az illesztett konstans függvény értéke:
g = l[0][0]/3.6
alpha = 110*g/(c[0][0]/3.6)**2
print("g = {} m/s^2".format(g))
print("alpha = {} kg/m".format(alpha))