форкнуто от main/python-labs
Родитель
5f1b614762
Сommit
f97c5c9962
|
После Ширина: | Высота: | Размер: 12 KiB |
@ -0,0 +1,358 @@
|
|||||||
|
\# Общее контрольное задание по теме 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
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Загрузка…
Ссылка в новой задаче