# Общее контрольное задание по теме 7 Турханов Артем, А-03-23 ## Задание • Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с за-держкой на заданное время Т. • Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в ви-де таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращае-мый результат функции: список с числами элементов выборки в интервалах разбиения. • Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х Y=b1+b2*X и имеющую аргументы b1, b2 и X. ## Решение Работа в интерпретаторе Python: ### Задача 1 ```py >>> y = [] >>> x = [1,1,1,1,1,1,1,1,1,1] >>> t = [i for i in range(1,11)] >>> import matplotlib.pyplot as plt >>> def func(x,T): for i in range(len(x)): if (i-T) < 0: y.append(0) else: y.append(1) >>> func(x,3) >>> y [0, 0, 0, 1, 1, 1, 1, 1, 1, 1] >>> plt.plot(t,x) [] >>> plt.plot(t,y) [] >>> plt.title('Звено запаздывания') Text(0.5, 1.0, 'Звено запаздывания') >>> plt.show() ``` ![Figure_2.png](Figure_2.png) ### Задача 2 ```py >>> import random as rd >>> y = [rd.gauss(0,1) for i in range(100)] >>> def histogram(x,n): print('Границы интервала | число элементов в интервале') l = (max(x) - min(x))/ n lg = min(x) rg = min(x)+l for j in range(n): k = 0 for i in x: if (i > lg) and (i < rg): k+=1 print('{} - {}'.format(lg, rg), ' | ', k) lg += l rg += l >>> histogram(y, 10) Границы интервала | число элементов в интервале -2.652795195532286 - -2.1915388926771295 | 1 -2.1915388926771295 - -1.730282589821973 | 1 -1.730282589821973 - -1.2690262869668163 | 6 -1.2690262869668163 - -0.8077699841116596 | 11 -0.8077699841116596 - -0.34651368125650284 | 17 -0.34651368125650284 - 0.1147426215986539 | 17 0.1147426215986539 - 0.5759989244538106 | 18 0.5759989244538106 - 1.0372552273089672 | 11 1.0372552273089672 - 1.4985115301641239 | 11 1.4985115301641239 - 1.9597678330192805 | 5 ``` ### Задача 3 ```py >>> func3 = lambda x, b1,b2: b1 + b2*x >>> for x in range(10): func3(1,1,x) 1 2 3 4 5 6 7 8 9 10 ```