diff --git a/PycharmProjects/3.5.1 auto/fitting.py b/PycharmProjects/3.5.1 auto/fitting.py new file mode 100644 index 0000000..1c89869 --- /dev/null +++ b/PycharmProjects/3.5.1 auto/fitting.py @@ -0,0 +1,13 @@ +from scipy.optimize import curve_fit +from numpy import tanh + + +# Обсчет значений на данный момент недоступен, но может быть вызван в другом файле +# с использованием функции fit() +def probe(x, I_0, k_0, A): + return I_0 * tanh(k_0 / I_0 * x) + A * x + + +def fit(x, y): + params = curve_fit(probe, x, y, [50, 10, 1])[0] + return params \ No newline at end of file diff --git a/PycharmProjects/3.5.1 auto/main.py b/PycharmProjects/3.5.1 auto/main.py new file mode 100644 index 0000000..43b9a49 --- /dev/null +++ b/PycharmProjects/3.5.1 auto/main.py @@ -0,0 +1,12 @@ +import visual +import sys +from PySide6 import QtWidgets + + +if __name__ == "__main__": + app = QtWidgets.QApplication([]) + + widget = visual.TitleScreen() + widget.showFullScreen() + + sys.exit(app.exec()) \ No newline at end of file diff --git a/PycharmProjects/3.5.1 auto/plots.py b/PycharmProjects/3.5.1 auto/plots.py index 6e6bb38..66a0273 100644 --- a/PycharmProjects/3.5.1 auto/plots.py +++ b/PycharmProjects/3.5.1 auto/plots.py @@ -4,6 +4,8 @@ import random from numpy import tanh +# Значения part = 1, 2 соответствуют режимам считывания с первой и второй пары приборов соответственно +# (currently not available), режимы 3 и 4 являются тестовыми и генерируют значения самостоятельно def get_point(part, num): if part == 1: v1 = open('voltmeter1.txt') @@ -42,16 +44,21 @@ def get_point(part, num): elif part == 4: vol[3][num].append(random.random() * 50 - 25) if experiment % 3 == 0: - cur[3][num].append((83 * tanh(15.5 / 83 * vol[3][num][-1]) + 1.7 * vol[3][num][-1]) * (0.98 + random.random() / 25)) + cur[3][num].append( + (83 * tanh(15.5 / 83 * vol[3][num][-1]) + 1.7 * vol[3][num][-1]) * (0.98 + random.random() / 25)) elif experiment % 3 == 1: - cur[3][num].append((44 * tanh(8.7 / 44 * vol[3][num][-1]) + 0.9 * vol[3][num][-1]) * (0.98 + random.random() / 25)) + cur[3][num].append( + (44 * tanh(8.7 / 44 * vol[3][num][-1]) + 0.9 * vol[3][num][-1]) * (0.98 + random.random() / 25)) else: - cur[3][num].append((22 * tanh(4.4 / 22 * vol[3][num][-1]) + 0.5 * vol[3][num][-1]) * (0.98 + random.random() / 25)) + cur[3][num].append( + (22 * tanh(4.4 / 22 * vol[3][num][-1]) + 0.5 * vol[3][num][-1]) * (0.98 + random.random() / 25)) + def update_plot(part, num): for i in range(10): get_point(part, num) + def saveplot(part): plt.figure(figsize=(8, 6)) for i in range(len(vol[part - 1])): @@ -62,6 +69,7 @@ def saveplot(part): plt.savefig('tmpplots/tmpplot' + str(part) + '.jpg', dpi=200) plt.close() + def empty_plot(part): vol[part - 1] = [[]] cur[part - 1] = [[]] @@ -71,12 +79,14 @@ def empty_plot(part): plt.savefig('tmpplots/tmpplot' + str(part) + '.jpg', dpi=200) plt.close() + def plus_plot(part): global experiment vol[part - 1].append([]) cur[part - 1].append([]) experiment += 1 + def minus_plot(part): vol[part - 1].pop() cur[part - 1].pop() @@ -84,6 +94,7 @@ def minus_plot(part): vol[part - 1].append([]) cur[part - 1].append([]) + vol = [[], [], [[]], [[]]] cur = [[], [], [[]], [[]]] -experiment = 0 \ No newline at end of file +experiment = 0 diff --git a/PycharmProjects/3.5.1 auto/tmpplots/tmpplot1.jpg b/PycharmProjects/3.5.1 auto/tmpplots/tmpplot1.jpg new file mode 100644 index 0000000..f80ab43 Binary files /dev/null and b/PycharmProjects/3.5.1 auto/tmpplots/tmpplot1.jpg differ diff --git a/PycharmProjects/3.5.1 auto/tmpplots/tmpplot3.jpg b/PycharmProjects/3.5.1 auto/tmpplots/tmpplot3.jpg new file mode 100644 index 0000000..f80ab43 Binary files /dev/null and b/PycharmProjects/3.5.1 auto/tmpplots/tmpplot3.jpg differ diff --git a/PycharmProjects/3.5.1 auto/tmpplots/tmpplot4.jpg b/PycharmProjects/3.5.1 auto/tmpplots/tmpplot4.jpg new file mode 100644 index 0000000..f80ab43 Binary files /dev/null and b/PycharmProjects/3.5.1 auto/tmpplots/tmpplot4.jpg differ diff --git a/PycharmProjects/3.5.1 auto/visual.py b/PycharmProjects/3.5.1 auto/visual.py index 21d8cc9..42722d5 100644 --- a/PycharmProjects/3.5.1 auto/visual.py +++ b/PycharmProjects/3.5.1 auto/visual.py @@ -3,6 +3,7 @@ import plots import PIL +# Значения парметра part при построении графиков установлены на тестовый режим class TitleScreen(QtWidgets.QWidget): def __init__(self): super().__init__()