Тестовое задание модуля №3

main
Пользователь № 4 аудитории Ж-113 23 часов назад
Родитель 0e3d06f367
Сommit 2cc1b33105

@ -0,0 +1,26 @@
# M0.py
import M2 # Импортируем модуль M2
import matplotlib.pyplot as plt
def plot_results():
"""
Вызывает M2, считывает результаты из файла и отображает их в виде графика.
"""
M2.run_analysis() # Запускаем анализ из модуля M2
try:
with open("Res11.bin", 'r') as f:
SS3 = [float(line.strip()) for line in f]
except FileNotFoundError:
print("Ошибка: Файл Res11.bin не найден.")
return
plt.plot(SS3)
plt.xlabel("Индекс")
plt.ylabel("Значение")
plt.title("График списка SS3")
plt.grid(True)
plt.show()
if __name__ == "__main__":
plot_results()

@ -0,0 +1,26 @@
# M1.py
import random
def generate_data_file(filename, num_samples=50, mean=0, std_dev=1):
"""Генерирует файл с нормально распределенными случайными данными."""
import numpy as np
data = np.random
print(f"Файл {filename} сгенерирован.")
def read_signal_and_shift(filename, TAU, K):
N = len(SPS1)
SPS2 = [0] * (TAU - 1) + [K * SPS1[i - TAU] for i in range(TAU - 1, N)]
return SPS1, SPS2
def calculate_D(SS1, SS2, TT):
N = len(SS1)
SR1 = sum(SS1) / N
SR2 = sum(SS2) / len(SS2)
D = 0
for i in range(TT, N):
D += (SS1[i] - SR1) * (SS2[i - TT] - SR2)
return D

@ -0,0 +1,39 @@
# M2.py
import M1 # Импортируем модуль M1
import random
def run_analysis():
while True:
filename = input("Введите имя текстового файла с данными: ")
try:
with open(filename, 'r'):
break
except FileNotFoundError:
print("Файл не найден. Повторите ввод.")
while True:
try:
TAU = int(input("Введите значение параметра TAU (>= 0): "))
if TAU >= 0:
break
else:
print("TAU должно быть >= 0.")
except ValueError:
print("Некорректный ввод. Введите целое число.")
K = random.uniform(2, 7)
SPS1, SPS2 = M1.read_signal_and_shift(filename, TAU, K)
print("SPS1:", SPS1)
print("SPS2:", SPS2)
SS3 = []
for TT in range(0, TAU + 6):
D = M1.calculate_D(SPS1, SPS2, TT)
SS3.append(D)
with open("Res11.bin", 'w') as f:
for value in SS3:
f.write(str(value) + '\n')
print("Результаты записаны в файл Res11.bin")
Загрузка…
Отмена
Сохранить