Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

115 строки
3.5 KiB
Markdown

\# Общее контрольное задание по теме 7
Мамакин Ярослав, А-02-23
\## Задание
• Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с за-держкой на заданное время Т.
• Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: вы-борка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения.
• Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y ли-нейной регрессии при значении переменной Х
Y=b1+b2\*X
и имеющую аргументы b1, b2 и X.
\## Решение
```py
>>> def zaderz(vhod, T):
... """Функция задержки
... Входной сигнал - vhod
... Время задержки - T"""
... return \[0] \* T + vhod
...
>>> x = \[1, 2, 4, 8, 16]
>>> T = 5
>>> zaderz(x, T)
\[0, 0, 0, 0, 0, 1, 2, 4, 8, 16]
>>> def histogram(x, n\_bins):
... low\_end = min(x)
... high\_end = max(x)
... bin\_w = (high\_end - low\_end) / n\_bins
... bins = \[]
... for i in range(n\_bins):
... lower = low\_end + i \* bin\_w
... upper = low\_end + (i + 1) \* bin\_w
... bins.append(len(list(filter(lambda j: lower <= j and j < upper, x))))
... if i == n\_bins - 1:
... bins\[i] += 1
... print(f"Интервал №{i + 1}: Нижняя граница: {lower} Верхняя граница: {upper} Число элементов: {bins\[i]}")
... return bins
...
>>> x = \[random.uniform(5, 10) for i in range(100)]
>>> n\_elem = histogram(x, 5)
Интервал 1: Нижняя граница: 5.008028779046062 Верхняя граница: 5.9894754634094 Число элементов: 16
Интервал 2: Нижняя граница: 5.9894754634094 Верхняя граница: 6.97092214777274 Число элементов: 21
Интервал 3: Нижняя граница: 6.97092214777274 Верхняя граница: 7.952368832136078 Число элементов: 19
Интервал 4: Нижняя граница: 7.952368832136078 Верхняя граница: 8.933815516499417 Число элементов: 20
Интервал 5: Нижняя граница: 8.933815516499417 Верхняя граница: 9.915262200862756 Число элементов: 24
>>> print(n\_elem)
\[16, 21, 19, 20, 24]
>>> regression = lambda x, b1, b2: b1 + b2 \* x
>>> regression(4, 8, 0.5)
10.0
```