форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
57 строки
3.3 KiB
Markdown
57 строки
3.3 KiB
Markdown
# Общее контрольное задание по теме 7
|
|
|
|
Девятова Мария, А-03-23
|
|
|
|
## Задание
|
|
|
|
1. Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т.
|
|
2. Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения.
|
|
3. Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х, Y=b1+b2*X и имеющую аргументы b1, b2 и X.
|
|
|
|
## Выполнение
|
|
|
|
1.
|
|
|
|
```
|
|
in_signal=[math.sin(i*math.pi/3+2) for i in range(20)]
|
|
in_signal
|
|
[0.9092974268256817, 0.0942549812584854, -0.8150424455671963, -0.9092974268256817, -0.09425498125848553, 0.8150424455671966, 0.9092974268256818, 0.09425498125848654, -0.8150424455671961, -0.9092974268256818, -0.09425498125848489, 0.8150424455671961, 0.9092974268256819, 0.09425498125848501, -0.815042445567195, -0.9092974268256835, -0.0942549812584869, 0.815042445567197, 0.909297426825682, 0.09425498125848703]
|
|
def zader(s, T):
|
|
"""Функция преобразования входного сигнала s в выходной с заданной задержкой T"""
|
|
s_out=[]
|
|
for i in range(len(s)+T):
|
|
if i<T:
|
|
s_out.append(0)
|
|
else:
|
|
s_out.append(s[i-T])
|
|
return s_out
|
|
|
|
out_signal=zader(in_signal, 5); out_signal
|
|
[0, 0, 0, 0, 0, 0.9092974268256817, 0.0942549812584854, -0.8150424455671963, -0.9092974268256817, -0.09425498125848553, 0.8150424455671966, 0.9092974268256818, 0.09425498125848654, -0.8150424455671961, -0.9092974268256818, -0.09425498125848489, 0.8150424455671961, 0.9092974268256819, 0.09425498125848501, -0.815042445567195, -0.9092974268256835, -0.0942549812584869, 0.815042445567197, 0.909297426825682, 0.09425498125848703]
|
|
```
|
|
|
|
2.
|
|
|
|
```
|
|
def hist(X, n_bin):
|
|
"""Функция, строящая гистограмму для выборки X с количеством интервалов n_bin
|
|
Возвращает число элементов в каждом интервале"""
|
|
pylab.hist(X, n_bin)
|
|
pylab.show()
|
|
|
|
|
|
import pylab
|
|
import random
|
|
x=[random.gauss(0, 1) for _ in range(100)]
|
|
hist(x, 10)
|
|
```
|
|
|
|

|
|
|
|
3.
|
|
|
|
```
|
|
Y= lambda b1,b2,X: b1+b2*X
|
|
Y(2, 6, 15)
|
|
92
|
|
``` |