Цель работы: определить скорость полёта пули, применяя законы сохранения и используя баллистический маятник; познакомиться с базовыми принципами обработки экспериментальных данных.
В работе используются: духовое ружье на штативе, осветитель, оптическая система для измерения отклонений маятника, измерительная линейка, пули и весы для их взвешивания, баллистический маятник.
In [1]:
import numpy as np
import scipy as ps
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
Положим $L=3.2$ м — длина нити, $g=9.8$ м/c — величина ускорения свободного падения, $M=3$ кг — масса балистического маятника. Через $\Delta x$ обозначим отклонение маятника, через $m$ — массу пули, через $u$ — скорость пули при вылете, через $\sigma_t$ — абсолютную ошибку величины $t$, а через $\varepsilon_t$ — относительную.
По формуле скорость пули есть $u = \frac{M}{m} \sqrt{\frac{g}{L}} \Delta x$, откуда относительная ошибка скорости пули составляет $\varepsilon_u=\sqrt{\left(\frac{\sigma_M}{M}\right)^2+\left(\frac{\sigma_m}{m}\right)^2+\left(\frac{\sigma_L}{2L}\right)^2+\left(\frac{\sigma_{\Delta x}}{\Delta x}\right)^2}$. Ясно, что слагаемое $\left(\frac{\sigma_{\Delta x}}{\Delta x}\right)^2$ существенно превышает все остальные, так что можно считать $\sigma_u \approx \frac{\sigma_{\Delta x}}{\Delta x}$.
Погрешность измерения $x$ есть половина цены деления, то есть $0.000125$ м. Таким образом, $\sigma_x \approx 0.000176$ м.
In [8]:
data = pd.read_excel('lab-1-1.xlsx', 'table-1')
data.head(len(data))
Out[8]:
Посчитаем средний разброс скоростей.
In [13]:
u = data.values[:, 2]
print(u.mean())
print(u.std())
Таким образом, средняя скорость составляет $u_{ср}=123$ м/с, а разброс относительно среднего есть $\sigma_u^{разброс}=5$ м/с.