Files
Lugovtsov/4.1.1-centring-optical-system/processing.ipynb
T
2023-02-20 10:01:26 +03:00

47 KiB

In [14]:
# %load ../processing_tools.py
import numpy as np
from scipy.optimize import curve_fit
import pandas as pd

def line(x, k, b):
    return k * x + b

import matplotlib.pyplot as plt
import matplotlib
import scienceplots

plt.style.use(['science', 'russian-font'])

matplotlib.rcParams.update({
    'figure.figsize': [6, 4],
    'savefig.facecolor': 'white',
    'figure.dpi': 150.0,
    'font.size': 12.0,
})
In [10]:
h = np.array([10, 20, 40]) # mm
ds = np.array([0, 1, 3]) # mm
In [19]:
(k, b), _ = curve_fit(line, h**2, ds)
In [16]:
x = np.linspace(0, 1700, 100)
In [28]:
plt.scatter(h**2, ds)
plt.plot(x, line(x, k, b))

plt.xlabel(r'Квадрат диаметра диафрагмы $h^2, \text{мм}^2$')
plt.ylabel(r'Отклонение $\delta s$, мм')

plt.savefig('images/dSonH2.svg')