# Общее контрольное задание по теме 7 Криви Анастасия, А-02-23 ## Задание 1. Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т. 2. Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения. 3. Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X. ## Решение Функция, осуществляющая расчет выходного сигнала - входной с учетой задержки. ```py def func_zad(x, T): """Функция, реализующая для момента времени расчет выхода (выходного сигнала) для устройства задержки, где x - входной сигнал, введенный списком T - задержка""" for i in range(len(x)): x[i] += T return x func_zad([5,19,33,40], 10) [15, 29, 43, 50] ``` Функция, осуществляющая расчет гистограммы по выборке случайных величин с каким-то распределением. ```py def histogram(vbor, ch): """ Расчет гистограммы для выборки данных vbor - список значений ch - количество интервалов Возвращает список количеств элементов в каждом интервале """ min_v = min(vbor) max_v = max(vbor) width = (max_v - min_v) / ch # Инициализация счетчиков counts = [0] * ch for i in vbor: # подсчет элементов в каждом интервале if i == max_v: # для максимального значения ind = ch - 1 else: ind = int((i - min_v) / width) counts[ind] += 1 # Вывод таблицы print("Гистограмма:") print("Интервал Количество") for i in range(ch): lg = min_v + i * width rg = min_v + (i + 1) * width print(f"[",lg,";",rg,"]","|",counts[i]) print(f"Список с числами элементов выборки в интервалах разбиения") return counts import random histogram([random.randint(0, 100) for _ in range(10)], 4) Гистограмма: Интервал Количество [ 29.0 ; 45.75 ] | 3 [ 45.75 ; 62.5 ] | 2 [ 62.5 ; 79.25 ] | 1 [ 79.25 ; 96.0 ] | 4 Список с числами элементов выборки в интервалах разбиения [3, 2, 1, 4] regression = lambda x, b1, b2: b1 + b2 * x regression(3, 7, 1) 10 ```