diff --git a/TEMA7/task.md b/TEMA7/task.md new file mode 100644 index 0000000..fee1ddd --- /dev/null +++ b/TEMA7/task.md @@ -0,0 +1,55 @@ +# Общее контрольное задание по теме 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 +``` +