Работа 1.1. Определение скорости полета пули при помощи баллистического маятника

Цель работы: определить скорость полёта пули, применяя законы сохранения и используя баллистический маятник; познакомиться с базовыми принципами обработки экспериментальных данных.

В работе используются: духовое ружье на штативе, осветитель, оптическая система для измерения отклонений маятника, измерительная линейка, пули и весы для их взвешивания, баллистический маятник.


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]:
Δx, м m, кг u, м/с σᵤ, м/с
0 0.01250 0.000510 128.676471 1.819760
1 0.01275 0.000517 129.472921 1.795121
2 0.01275 0.000527 127.016129 1.761058
3 0.01200 0.000518 121.621622 1.791656
4 0.01200 0.000527 119.544592 1.761058
5 0.01200 0.000520 121.153846 1.784765
6 0.01225 0.000512 125.610352 1.812652
7 0.01225 0.000528 121.803977 1.757723
8 0.01225 0.000524 122.733779 1.771141
9 0.01125 0.000520 113.581731 1.784765

Посчитаем средний разброс скоростей.


In [13]:
u = data.values[:, 2]
print(u.mean())
print(u.std())


123.12154184
4.52072691569

Таким образом, средняя скорость составляет $u_{ср}=123$ м/с, а разброс относительно среднего есть $\sigma_u^{разброс}=5$ м/с.