# Общее контрольное задание по теме 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)

[<matplotlib.lines.Line2D object at 0x0000019F5308A210>]

>>> plt.plot(t,y)

[<matplotlib.lines.Line2D object at 0x0000019F5308A350>]

>>> 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

```



