# Общее контрольное задание по теме 7 ## Задание: - Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т. - Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения. - Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X. ## Решение: ```python # 1 >>>def delay_signal(signal, T): for i in range(len(signal)): signal[i] += T return signal >>>vhod_signal = [1, 2, 3.69, 4, 5.32, 6.5, 7, 8] >>>T_zad = 3 >>>vyhod_signal = delay_signal(vhod_signal, T_zad) >>>print(vyhod_signal) [4, 5, 6.6899999999999995, 7, 8.32, 9.5, 10, 11] # 2 import random import matplotlib.pyplot as plt def histogram(data, num): min_val, max_val = min(data), max(data) parts = np.linspace(min_val, max_val, num + 1) rows = [0] * num for now in data: for i in range(num): if parts[i] <= now < parts[i + 1]: rows[i] += 1 break if now == max_val: rows[-1] += 1 plt.hist(data, bins=parts) plt.xlabel('Значения выборки') plt.ylabel('Число элементов') plt.title('Гистограмма выборки') plt.show() return rows sl_vel = [random.gauss(random.random(), random.random()) for _ in range(random.randint(1,50))] intervals = 5 output = histogram(sl_vel, intervals) print(output) [4, 5, 18, 17, 5] # 3 >>>predict = lambda b1, b2, X: b1 + b2 * X >>>b1 = 0.5 >>>b2 = 0.8 >>>X = 5 >>>print(predict(b1, b2, X)) 4.5 ``` ![График](figure_1.png) - Гистограммы для значений из методических указаний: ![График](figure_2.png) ![График](figure_3.png)