# Общее контрольное задание по теме 7 Махнов Георгий, А-01-23 ## Задание * Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т. * Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращае-мый результат функции: список с числами элементов выборки в интервалах разбиения. * Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X. ## Решение ```py from matplotlib.pyplot import * from random import * def delaySignal (signal, T): """"Расчёт выхода y(t) для устройства задержки""" output=[] for i in range(len(signal)): if i < T: output.append(0) else: output.append(signal[i-T]) return output print(delaySignal([random() for _ in range(randint(1,10))], randint(1,5))) >>> [0, 0, 0, 0.6929623452667151, 0.8432441392717085, 0.7135246417254248] def histogram(sample, number): bins = (max(sample) - min(sample))/number intervals = [] for i in range(number): intervals.append((min(sample)+i*bins, min(sample)+(i+1)*bins)) objectInIntervals = [0]*number for objects in sample: objectInterval = int((objects - min(sample))/bins) if objectInterval == number: objectInterval -=1 objectInIntervals[objectInterval] +=1 print("Границы интервалов | Число элементов") for i in range(number): lowerInterval, upperInterval = intervals[i] print(lowerInterval, "-", upperInterval, " |", objectInIntervals[i]) hist(sample, number) xlabel("Значения элементов выборки") ylabel("Количество элементов в интервале") show() return objectInIntervals data = [gauss(1, 20) for _ in range(10)] histogram(data, 3) >>> Границы интервала | Число элементов -25.04980446710405 - -5.836770357068186 | 3 -5.836770357068186 - 13.376263752967677 | 4 13.376263752967677 - 32.58929786300354 | 3 ``` ![alt text](image-1.png) ```py lineal_regression = lambda b1, b2, X: b1+b2*X print(lineal_regression(3,2,5)) >>> 13 ```