diff --git a/PycharmProjects/3.5.1 auto/plots.py b/PycharmProjects/3.5.1 auto/plots.py index 00019ab..6e6bb38 100644 --- a/PycharmProjects/3.5.1 auto/plots.py +++ b/PycharmProjects/3.5.1 auto/plots.py @@ -1,6 +1,8 @@ import matplotlib.pyplot as plt import random +from numpy import tanh + def get_point(part, num): if part == 1: @@ -38,8 +40,13 @@ def get_point(part, num): vol[2][num].append(random.random() * 100) cur[2][num].append(random.random() * 100) elif part == 4: - vol[3][num].append(random.random() * 100) - cur[3][num].append(random.random() * 100) + 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)) + 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)) + 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)) def update_plot(part, num): for i in range(10): @@ -48,8 +55,10 @@ def update_plot(part, num): def saveplot(part): plt.figure(figsize=(8, 6)) for i in range(len(vol[part - 1])): - plt.scatter(cur[part - 1][i], vol[part - 1][i], marker='o') + plt.scatter(vol[part - 1][i], cur[part - 1][i], marker='o') plt.grid() + plt.xlabel('Напряжение, В') + plt.ylabel('Ток, мкА') plt.savefig('tmpplots/tmpplot' + str(part) + '.jpg', dpi=200) plt.close() @@ -63,12 +72,18 @@ def empty_plot(part): 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() + if len(vol[part - 1]) == 0: + vol[part - 1].append([]) + cur[part - 1].append([]) vol = [[], [], [[]], [[]]] -cur = [[], [], [[]], [[]]] \ No newline at end of file +cur = [[], [], [[]], [[]]] +experiment = 0 \ No newline at end of file diff --git a/PycharmProjects/3.5.1 auto/visual.py b/PycharmProjects/3.5.1 auto/visual.py index d138cff..21d8cc9 100644 --- a/PycharmProjects/3.5.1 auto/visual.py +++ b/PycharmProjects/3.5.1 auto/visual.py @@ -216,6 +216,7 @@ class Part2(QtWidgets.QWidget): super().__init__() self.n = 0 self.num = 0 + self.i = 0 self.hint_open = False self.started = False self.q = QtGui.QScreen.availableGeometry(QtWidgets.QApplication.primaryScreen()) @@ -230,6 +231,11 @@ class Part2(QtWidgets.QWidget): self.points.setGeometry(QtCore.QRect(7.5 * h - 150, 3 * h - 80, 300, 20)) self.points.setText('Измеренных точек в текущей серии: ' + str(self.n)) + self.current = QtWidgets.QLabel(self) + self.current.setGeometry(QtCore.QRect(7.5 * h - 150, 3 * h - 120, 300, 20)) + self.current.setText('Текущий ток разряда: ' + str(self.i)) + self.current.setStyleSheet('color: green;') + self.disclaimer = QtWidgets.QLabel(self) self.disclaimer.setText('

Не ' 'забудьте прочитать методику<\p>