diff --git a/TEMA7/task.md b/TEMA7/task.md index b809719..eafefb7 100644 --- a/TEMA7/task.md +++ b/TEMA7/task.md @@ -1,26 +1,84 @@ -\# Общее контрольное задание по теме 5 - +# Общее контрольное задание по теме 5 Соловьёва Екатерина, А-01-23 - - -\## Задание - -\* Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т. - -\* Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения. - -\* Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х - -Y=b1+b2\*X - +## Задание +* Разработайте и проверьте функцию, реализующую для момента времени t расчет выхода y(t) для устройства задержки: на вход поступает сигнал, а на выходе повторяется этот сигнал с задержкой на заданное время Т. +* Разработайте и проверьте функцию, реализующую расчет гистограммы по выборке случайной величины с каким-то распределением. Гистограмма при выводе на экран представляется в виде таблицы: границы интервала, число элементов выборки в интервале. Аргументы функции: выборка, число интервалов разбиения диапазона изменения случайной величины. Возвращаемый результат функции: список с числами элементов выборки в интервалах разбиения. +* Разработайте и проверьте анонимную функцию, вычисляющую значение оценки отклика Y линейной регрессии при значении переменной Х +Y=b1+b2*X и имеющую аргументы b1, b2 и X. - - -\## Решение - +## Решение +# 1 ```py - - - +def delay_signal (signal, T): + """"Расчёт выхода y(t) для устройства задержки""" + output=[] + for i in range(len(signal)): + if i < T: + out.append(0) + else: + output.append(signal[i-T]) + return output +x=[1,0.5,3.6,4.5,1,2,0.5] # Входной сигнал +y= delay_signal (x, 2) +print(y) + +``` +# 2 +```py +import random +import matplotlib.pyplot as plt + +def histogram(sample, number): + min_1 = min(sample) + max_1 = max(sample) + bins = (max_1 - min_1) / number # Ширина одного интервала + rows = [0] * number # Создание списка для подсчёта элементов в каждом интервале + intervals = [] # Список для хранения границ интервалов + + for i in range(number): + lower = min_1 + i * bins + upper = min_1 + (i + 1) * bins + intervals.append((lower, upper)) + + for x in sample: + i = int((x - min_1) / bins) # Вычисление номера интервала для текущего элемента + if i == number: + i = number - 1 + rows[i] += 1 + + print("Границы интервала | Число элементов") + for i in range(number): + lower, upper = intervals[i] + print(lower, "-", upper, " |", rows[i]) + + plt.hist(sample, number) + plt.xlabel('Значения выборки') + plt.ylabel('Число элементов') + plt.title('Гистограмма выборки') + plt.show() + + return rows + +data = [random.gauss(1, 20) for _ in range(10)] +histogram(data, 3) +Границы интервала | Число элементов +-41.93512946278788 - -17.371680704583262 | 1 +-17.371680704583262 - 7.191768053621352 | 3 +7.191768053621352 - 31.755216811825967 | 6 +``` +![График](Рис1.png) +# 3 +```py +linreg = lambda b1, b2, x: b1 + b2 * x +b1 = float(input("Введите коэффициент b1 линейной регрессии: ")) +b2 = float(input("Введите коэффициент b2 линейной регрессии: ")) +x_val = float(input("Введите значение x: ")) +print(linreg(b1, b2, x_val)) + +Введите коэффициент b1 линейной регрессии: 3 +Введите коэффициент b2 линейной регрессии: 4 +Введите значение x: 5 +23.0 +``` \ No newline at end of file