форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
45 строки
983 B
Python
45 строки
983 B
Python
import random
|
|
|
|
def function1(name, TAU,K):
|
|
'''Чтение сигнала из файла и создание списка'''
|
|
try:
|
|
fl = open(name,'r')
|
|
data = fl.read().strip().split()
|
|
SPS1 = [float(x) for x in data]
|
|
fl.close()
|
|
|
|
N = len(SPS1)
|
|
SPS2 = [0]*N
|
|
|
|
for i in range (N):
|
|
if i < TAU - 1:
|
|
SPS2[i]=0
|
|
else:
|
|
SPS2[i]= K * SPS1[i-TAU]
|
|
|
|
return SPS1, SPS2
|
|
|
|
except FileNotFoundError:
|
|
print(f'Файл {name} не найден')
|
|
return [],[]
|
|
|
|
def function2(SS1,SS2,TT):
|
|
'''Расчет значения D'''
|
|
if not SS1 or not SS2:
|
|
return 0
|
|
|
|
N = len(SS1)
|
|
|
|
if TT<0 or TT>= N:
|
|
return 0
|
|
|
|
SR1 = sum(SS1)/N if N >0 else 0
|
|
SR2 = sum(SS2)/N if N >0 else 0
|
|
|
|
D = 0
|
|
for i in range(TT,N):
|
|
if (i-TT)<len(SS2):
|
|
D += (SS1[i] - SR1) * (SS2[i - TT] - SR2)
|
|
|
|
return D
|