форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
76 строки
2.1 KiB
Python
76 строки
2.1 KiB
Python
# Пункт 1
|
|
def signal_delay(current_input, delay_time, output_history, input_history):
|
|
"""
|
|
Расчет выходного сигнала устройства задержки
|
|
current_input - текущее значение входного сигнала
|
|
delay_time - время задержки
|
|
output_history - история выходных значений
|
|
input_history - история входных значений
|
|
"""
|
|
if len(input_history) < delay_time:
|
|
return 0
|
|
else:
|
|
return input_history[-delay_time]
|
|
|
|
|
|
d = 4
|
|
output_signal = []
|
|
input_signal = [1, 2, 3, 4, 5, 6, 7]
|
|
input_history = []
|
|
|
|
for x in input_signal:
|
|
input_history.append(x)
|
|
y = signal_delay(x, d, output_signal, input_history)
|
|
output_signal.append(y)
|
|
|
|
print("Входной сигнал:", input_signal)
|
|
print("Выходной сигнал:", output_signal, "(задержка 4)")
|
|
|
|
|
|
# Пункт 2
|
|
def raschet_giostogrammy(viborka, kol_int):
|
|
"""
|
|
Расчет гистограммы по выборке случайной величины
|
|
|
|
Аргументы:
|
|
viborka - список значений выборки
|
|
kol_int - число интервалов разбиения
|
|
|
|
Возвращает:
|
|
w - список с числами элементов в интервалах
|
|
"""
|
|
minn = min(viborka)
|
|
maxx = max(viborka)
|
|
shirina = (maxx - minn) / kol_int
|
|
|
|
w = [0] * kol_int
|
|
|
|
for znachenie in viborka:
|
|
num_int = int((znachenie - minn) / shirina)
|
|
if num_int == kol_int:
|
|
num_int = kol_int - 1
|
|
w[num_int] += 1
|
|
|
|
# Вывод таблицы
|
|
print("Гистограмма:")
|
|
print("Интервал\t\tКоличество")
|
|
for i in range(kol_int):
|
|
start = minn + i * shirina
|
|
end = minn + (i + 1) * shirina
|
|
print(f"{start:.2f} - {end:.2f}\t\t{w[i]}")
|
|
|
|
return w
|
|
|
|
# Проверка функции
|
|
import random
|
|
|
|
viborka = [random.gauss(0, 1) for _ in range(100)]
|
|
kol_interv = 5
|
|
resultat = raschet_giostogrammy(viborka, kol_interv)
|
|
|
|
|
|
# Пункт 3
|
|
anonim_func = lambda b1, b2, X: b1 + b2 * X
|
|
print(anonim_func (1, 2, 3))
|
|
|