ответвлено от main/python-labs
выполнение темы7 и темы8
Этот коммит содержится в:
76
TEMA7/task.md
Обычный файл
76
TEMA7/task.md
Обычный файл
@@ -0,0 +1,76 @@
|
||||
# Общее контрольное задание по теме 7
|
||||
|
||||
Криви Анастасия, А-02-23
|
||||
|
||||
## Задание
|
||||
|
||||
1. Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т.
|
||||
2. Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения.
|
||||
3. Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х
|
||||
Y=b1+b2*X
|
||||
и имеющую аргументы b1, b2 и X.
|
||||
|
||||
|
||||
## Решение
|
||||
|
||||
Функция, осуществляющая расчет выходного сигнала - входной с учетой задержки.
|
||||
|
||||
```py
|
||||
def func_zad(x, T):
|
||||
"""Функция, реализующая для момента времени расчет выхода (выходного сигнала) для устройства задержки, где
|
||||
x - входной сигнал, введенный списком
|
||||
T - задержка"""
|
||||
for i in range(len(x)):
|
||||
x[i] += T
|
||||
return x
|
||||
|
||||
func_zad([5,19,33,40], 10)
|
||||
[15, 29, 43, 50]
|
||||
```
|
||||
Функция, осуществляющая расчет гистограммы по выборке случайных величин с каким-то распределением.
|
||||
```py
|
||||
def histogram(vbor, ch):
|
||||
"""
|
||||
Расчет гистограммы для выборки данных
|
||||
vbor - список значений
|
||||
ch - количество интервалов
|
||||
Возвращает список количеств элементов в каждом интервале
|
||||
"""
|
||||
min_v = min(vbor)
|
||||
max_v = max(vbor)
|
||||
width = (max_v - min_v) / ch
|
||||
|
||||
# Инициализация счетчиков
|
||||
counts = [0] * ch
|
||||
|
||||
for i in vbor: # подсчет элементов в каждом интервале
|
||||
if i == max_v: # для максимального значения
|
||||
ind = ch - 1
|
||||
else:
|
||||
ind = int((i - min_v) / width)
|
||||
counts[ind] += 1
|
||||
|
||||
# Вывод таблицы
|
||||
print("Гистограмма:")
|
||||
print("Интервал Количество")
|
||||
|
||||
for i in range(ch):
|
||||
lg = min_v + i * width
|
||||
rg = min_v + (i + 1) * width
|
||||
print(f"[",lg,";",rg,"]","|",counts[i])
|
||||
print(f"Список с числами элементов выборки в интервалах разбиения")
|
||||
return counts
|
||||
|
||||
import random
|
||||
histogram([random.randint(0, 100) for _ in range(10)], 4)
|
||||
|
||||
Гистограмма:
|
||||
Интервал Количество
|
||||
[ 29.0 ; 45.75 ] | 3
|
||||
[ 45.75 ; 62.5 ] | 2
|
||||
[ 62.5 ; 79.25 ] | 1
|
||||
[ 79.25 ; 96.0 ] | 4
|
||||
Список с числами элементов выборки в интервалах разбиения
|
||||
[3, 2, 1, 4]
|
||||
|
||||
```
|
||||
Ссылка в новой задаче
Block a user