Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

52 строки
1.7 KiB
Python

import os
import pickle
from MMM1 import find_anomal, cor_anom
def read_sig(filename):
numbers = []
try:
with open(filename, 'r', encoding='utf-8') as f:
for line in f:
parts = line.strip().split()
for part in parts:
try:
numbers.append(float(part))
except ValueError:
continue
except Exception as e:
print(f"Ошибка чтения файла: {e}")
return None
return numbers
def main_pr():
while True:
filename = input("Введите имя текстового файла с сигналом: ")
if os.path.isfile(filename):
break
print("Файл не найден. Попробуйте снова.")
X = read_sig(filename)
if X is None:
print("Не удалось прочитать сигнал.")
return
M1 = float(input("Введите M1 (нижняя граница): "))
M2 = float(input("Введите M2 (верхняя граница): "))
anomalies = find_anomal(X, M1, M2)
if anomalies:
print(f"Индексы аномальных отсчетов: {anomalies}")
else:
print("Индексов аномальных отcчетов нет")
if anomalies:
X1 = cor_anom(X, anomalies)
with open('Res44.bin', 'wb') as f:
pickle.dump(X1, f)
print("Результат сохранён в файл Res44.bin")
else:
print("Аномальных отсчетов не обнаружено.")
return X, X1 if anomalies else None