From 44cf57a8dd240312b57e2c886c350e1946df675f Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 21 Sep 2025 14:49:43 +0200 Subject: [PATCH] second commit task adding --- TEMA7/task.md | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/TEMA7/task.md b/TEMA7/task.md index e69de29..2c89ab5 100644 --- a/TEMA7/task.md +++ b/TEMA7/task.md @@ -0,0 +1,81 @@ +# Общее контрольное задание по теме 7 + +Добровольска Елизавета, А-02-23 + +## Задание + +Общее контрольное задание. + • Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т. + • Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения. + • Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х +Y=b1+b2*X +и имеющую аргументы b1, b2 и X. + +## Решение + +>>>def signal_zaderzka(vhod, zaderzka, vihod): + return vhod-zaderzka if len(vihod)>=zaderzka else 0 + +>>>t_zaderzka = 3 +>>>vihod = [] +>>>vhod = [1, 2, 3, 4, 5] +>>>for i in vhod: + vihod = vihod + [signal_zaderzka(i, t_zaderzka, vihod)] + +>>>def signal_zaderzka(vhod, zaderzka, vihod): + return vhod-zaderzka if len(vihod)>=zaderzka else 0 + +>>>zaderzka = 3 +>>>vihod = [] +>>>vhod = [1, 2, 3, 4, 5] +>>>for i in vhod: + vihod = vihod + [signal_zaderzka(i, zaderzka, vihod)] + +>>>print("входной сигнал: ", vhod, "выходной сигнал: ", vihod) +входной сигнал: [1, 2, 3, 4, 5] выходной сигнал: [0, 0, 0, 1, 2] +``` + +```py +>>>def histogram(data, num_bins): + """Вычисляет и выводит гистограмму в виде таблицы, возвращает bins и counts.""" + min_val, max_val = min(data), max(data) + bin_width = (max_val - min_val) / num_bins + bins = [min_val + i * bin_width for i in range(num_bins + 1)] #список границ интервалов + counts = [] + for i in range(num_bins): + count = 0 + for x in data: + if bins[i] <= x < bins[i+1] or (x == max_val and i == num_bins - 1): + count += 1 + counts.append(count) + + print("Гистограмма:") + for i in range(num_bins): + print(f"Интервал: [{bins[i]:.2f}, {bins[i+1]:.2f}], Элементов: {int(counts[i])}") + + return bins, counts + +>>>import random + +>>>data = [random.gauss(0, 1) for _ in range(1000)] +>>>num_bins = 10 +>>>bins, counts = histogram(data, num_bins) +Гистограмма: +Интервал: [-2.97, -2.30], Элементов: 7 +Интервал: [-2.30, -1.62], Элементов: 43 +Интервал: [-1.62, -0.94], Элементов: 118 +Интервал: [-0.94, -0.26], Элементов: 231 +Интервал: [-0.26, 0.42], Элементов: 266 +Интервал: [0.42, 1.10], Элементов: 174 +Интервал: [1.10, 1.78], Элементов: 122 +Интервал: [1.78, 2.46], Элементов: 30 +Интервал: [2.46, 3.13], Элементов: 8 +Интервал: [3.13, 3.81], Элементов: 1 +``` + +```py +>>>anon = lambda b1, b2, X: b1+b2*X +>>>Y = anon(1,2,3) +>>>Y +7 +``` \ No newline at end of file