форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
359 строки
7.3 KiB
Markdown
359 строки
7.3 KiB
Markdown
\# Общее контрольное задание по теме 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
|
|
|
|
```
|
|
|
|
\# Общее контрольное задание по теме 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
|
|
|
|
```
|
|
|
|
|
|
|