Добавлены отчёты, задания и тесты

Этот коммит содержится в:
Solovyova_ED
2025-12-08 11:42:34 +03:00
родитель 694a8609e6
Коммит ed5322825d
13 изменённых файлов: 799 добавлений и 11 удалений

3
TEMA8/MM0.py Обычный файл
Просмотреть файл

@@ -0,0 +1,3 @@
import MM2
print('y=',MM2.vyhod)

22
TEMA8/MM1.py Обычный файл
Просмотреть файл

@@ -0,0 +1,22 @@
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)):
ytt = 0
elif xtt >= gran:
ytt = xtt - gran
elif xtt <= (-gran):
ytt = xtt + gran
return ytt

25
TEMA8/MM2.py Обычный файл
Просмотреть файл

@@ -0,0 +1,25 @@
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)

Просмотреть файл

@@ -1,2 +1,9 @@
perm1=input('Mod1:Введите значение = ')
print('Mod1:Значение perm1=',perm1)
def reading (file):
nums = []
with open(file, 'r') as file:
for line in file:
nums.extend(map(float, line.split()))
return nums

Просмотреть файл

@@ -1,11 +1,17 @@
def alpha():
print('****ALPHA****')
t=input('Значение t=')
return t
import math
def correlation(list1, list2):
n = min(len(list1), len(list2))
if n < 2:
return None
x, y = list1[:n], list2[:n]
mean_x, mean_y = sum(x)/n, sum(y)/n
num = sum((x[i]-mean_x)*(y[i]-mean_y) for i in range(n))
den = math.sqrt(sum((x[i]-mean_x)**2 for i in range(n)) *
sum((y[i]-mean_y)**2 for i in range(n)))
return num/den if den != 0 else None
def beta(q):
print('****BETA****')
import math
expi=q*math.pi
return math.exp(expi)

15
TEMA8/Mod3.py Обычный файл
Просмотреть файл

@@ -0,0 +1,15 @@
from Mod1 import reading
from Mod2 import correlation
file1 = input("Введите имя первого файла: ")
file2 = input("Введите имя второго файла: ")
arr1 = reading(file1)
arr2 = reading(file2)
if arr1 is None or arr2 is None:
print("Не удалось считать данные из файлов.")
else:
corr = correlation(arr1, arr2)
if corr is not None:
print(f"Коэффициент корреляции: {corr:.2f}")

2
TEMA8/data1.txt Обычный файл
Просмотреть файл

@@ -0,0 +1,2 @@
1.0 2.0 3.0 4.0 5.0
6.0 7.0 8.0 9.0 10.0

2
TEMA8/data2.txt Обычный файл
Просмотреть файл

@@ -0,0 +1,2 @@
10.0 9.5 9.0 8.5 8.0
7.5 7.0 6.5 6.0 1.0