From 1d1da5636e88e31a60db617a9d3b3a0b9678582b Mon Sep 17 00:00:00 2001 From: EfimovaLA Date: Thu, 4 Dec 2025 23:21:25 +0000 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=BC=D0=BE?= =?UTF-8?q?=D0=B4=D1=83=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA8/MM0.py | 2 ++ TEMA8/MM1.py | 21 +++++++++++++++++++++ TEMA8/MM2.py | 21 +++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 TEMA8/MM0.py create mode 100644 TEMA8/MM1.py create mode 100644 TEMA8/MM2.py diff --git a/TEMA8/MM0.py b/TEMA8/MM0.py new file mode 100644 index 0000000..ff04693 --- /dev/null +++ b/TEMA8/MM0.py @@ -0,0 +1,2 @@ +import MM2 +print("y =", MM2.vyhod) diff --git a/TEMA8/MM1.py b/TEMA8/MM1.py new file mode 100644 index 0000000..4e5759d --- /dev/null +++ b/TEMA8/MM1.py @@ -0,0 +1,21 @@ +def realdvig(xtt, kk1, TT, yti1, ytin1): + # Модель реального двигателя + yp = kk1 \* xtt # Усилитель + yti1 = yp + yti1 # Усилитель + ytin1 = (yti1 + TT \* ytin1) / (TT + 1) + return \[yti1, ytin1] + +def tahogen(xtt, kk2, yti2): + # Модель тахогенератора + yp = kk2 * xtt # Усилитель + yti2 = yp + yti2 # Интегратор + return yti2 + +def nechus(xtt, gran): + # Зона нечувствительности + if xtt < gran and xtt > (-gran): + return 0 + elif xtt >= gran: + return xtt - gran + elif xtt <= (-gran): + return xtt + gran diff --git a/TEMA8/MM2.py b/TEMA8/MM2.py new file mode 100644 index 0000000..a4f519f --- /dev/null +++ b/TEMA8/MM2.py @@ -0,0 +1,21 @@ +znach = input("k1, T, k2, Xm, A, F, N = ").split(",") +k1 = float(znach[0]) +T = float(znach[1]) +k2 = float(znach[2]) +Xm = float(znach[3]) +A = float(znach[4]) +F = float(znach[5]) +N = int(znach[6]) +import math +vhod = [] +for i in range(N): + vhod.append(A * math.sin((2 * i * math.pi) / F)) +import MM1 as mod +yi1 = 0; yin1 = 0; yi2 = 0 +vyhod = [] +for xt in vhod: + xt1 = xt - yi2 + [yi1, yin1] = mod.realdvig(xt1, k1, T, yi1, yin1) + yi2 = mod.tahogen(yin1, k2, yi2) + yt = mod.nechus(yin1, Xm) + vyhod.append(yt)