import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
Эффект Комптона - увеличение длины рассеянного излучения по сравнению с падающим. Будем считать, что -излучение - представляет собой поток квантов у которых:
При этом эффект Комптона интерпретируется как результат упругого соударения двух частиц: --кванта и свободного электрона. Пусть электрон до соударения покоился, его энергия:
-квант имел начальную энергию
Тогда после соударения:
Здесь:
Тогда ЗСИ и ЗСЭ:
Отсюда:
Последнее равенстно можно переписать в виде:
В ходе эксперимента различным уровням энергии будут соответствовать различные каналы , соответствующие вершинам фотопиков.
Таким образом:
Оценим погрешности:
data = pd.read_csv("data_1.2.csv", names=["deg", "N"])
sigma_phi = 0.5 / 90 * np.pi / 2.
sigma_N = 15.
X = (1. - np.cos(data.deg / 90. * np.pi / 2)).values
sigma_X = np.abs(np.sin(data.deg / 90.* np.pi / 2.) * sigma_phi).values
Y = (1. / data.N).values
sigma_Y = np.abs(sigma_N / data.N**2.) .values
data["X"] = X
data["Y"] = Y
data["$\sigma(X)$"] = sigma_X
data["$\sigma(Y)$"] = sigma_Y
data.style \
.set_table_styles([{'selector': 'th', 'props': [('font-size', '12pt')]}]) \
.set_properties(**{'font-size':'11pt'}) \
.format("{:.4f}")
A = np.vstack([X, np.ones(len(X))]).T
m, c = np.linalg.lstsq(A, Y, rcond=None)[0]
import matplotlib
%matplotlib inline
font = {'family' : 'Arial',
'size' : 14}
matplotlib.rc('font', **font)
fig = plt.figure(figsize=(12, 7))
ax = fig.gca()
plt.scatter(X, Y * 10 ** 4, marker=".")
plt.errorbar(X, Y * 10 ** 4, xerr=sigma_X, yerr=sigma_Y * 10 ** 4, linestyle="None")
delta_x = (X.max() - X.min()) / len(X)
delta_y = (Y.max() - Y.min()) * 10 ** 4 / len(Y)
ax.set_xlim(X.min() - delta_x/2, X.max() + delta_x/2)
ax.set_ylim((Y.min() * 10 ** 4 - delta_y/2), Y.max() * 10 ** 4 + delta_y/2)
plt.title("$\dfrac{1}{N(\Theta)} = A\cdot (1-cos(\Theta)) + B$", y=1.07)
plt.xlabel("$1-cos(\Theta)$")
plt.ylabel("$\dfrac{1}{N(\Theta)} * 10^4$")
plt.plot(X, (m*X + c) * 10 ** 4, 'r', label='Fitted line')
plt.grid(True);
Параметры получившейся наилучшей прямой (использованный метод апроксимации -- OLS (ordinary least square)):
Также, нужно учесть погрещность определения угла и максимума, посколько статистическая погрешность мала по сравнению с упомянутой погрешностью определения максимумов, то оценим:
Отсюда
Получим:
Приведённый способ, позволяет определить энергию покоя электрона с хорошей точностью.
Табличное значение энергии покоя:
С учётом погрешности, полученное нами значение энергии покоя электрона совпадает с табличным.