# Общее контрольное задание по теме 7 Киреев Юрий, А-02-23 ## Задание 1) Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с за-держкой на заданное время Т. 2) Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в ви-де таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращае-мый результат функции: список с числами элементов выборки в интервалах разбиения. 3) Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X. ## Решение 1) ```py >>> def delay(signal, T): >>> output=[] >>> for i in range(len(signal)+T): >>> if i>> output.append(0) >>> else: >>> output.append(signal[i-T]) >>> return output >>> x = [0,1,2,3,4,5,6,7,8,9] >>> y=delay(x,5) >>> y [0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ``` 2) ```py >>> def histogram(data, intervals): >>> low_g = min(data) >>> high_g = max(data) >>> bin_width = (high_g - low_g) / intervals >>> hist = [0] * intervals >>> for i in data: >>> bin_index = int((i - low_g) / bin_width) >>> if bin_index == intervals: >>> bin_index = intervals - 1 >>> hist[bin_index] += 1 >>> for i in range(intervals): >>> min_gran = low_g + i * bin_width >>> max_gran = low_g + (i + 1) * bin_width >>> print(f"{min_gran:.1f} - {max_gran:.1f}\t\t{hist[i]}") >>> print("Возвращаемый список: ") >>> return hist >>> data = list(range(1,8)) >>> histogram(data,4) 1.0 - 2.5 2 2.5 - 4.0 1 4.0 - 5.5 2 5.5 - 7.0 2 Возвращаемый список: [2, 1, 2, 2] >>> data = list(range(1,9)) >>> histogram(data,3) 1.0 - 3.3 3 3.3 - 5.7 2 5.7 - 8.0 3 Возвращаемый список: [3, 2, 3] ``` 3) ```py >>> linreg = lambda b1, b2, x: b1 + b2 * x >>> linreg(1, 1, 10) 11 ```