From b81c2e4a07d2e2616fd4042636a7599aa8bbe90e Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Mon, 1 Dec 2025 07:15:48 +0000 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'TEMA7/task.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA7/task.md | 53 +++++++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/TEMA7/task.md b/TEMA7/task.md index d29afd1..35703a3 100644 --- a/TEMA7/task.md +++ b/TEMA7/task.md @@ -30,31 +30,38 @@ >>> print(y) [0, 0, 0, 0, 1, 2, 3.4, 4.5, 6, 7, 8.9] >>> #2 ->>> def histogram (viborka, korziny): -... niz_gran = min(viborka) #нижняя граница -... verx_gran = max(viborka) #верхняя граница -... bins=(verx_gran-niz_gran)/korziny # Ширина одного интервала -... Num_elements = [0]*korziny # Создание списка для подсчёта элементов в каждом интервале -... intervals = [] # Список для хранения границ интервалов -... for i in range(korziny): -... lower = niz_gran + i * bins -... upper = verx_gran + (i+1) * bins -... intervals.append((lower, upper)) -... for x in viborka: -... i = int((x-niz_gran)/bins) # Вычисление номера интервала для текущего элемента -... if i == korziny: -... i=korziny-1 -... Num_elements[i] +=1 -... plt.hist(viborka, korziny) -... plt.xlabel('Значения выборки') -... plt.ylabel('Число элементов') -... plt.title('Гистограмма выборки') -... plt.show() -... return Num_elements +>>> def createHistogram(x, bins): +... lowerBound = min(x) #нижняя граница +... upperBound = max(x) #верхняя граница +... binWidth = (upperBound - lowerBound) / bins # Ширина одного интервала +... binsElements = [] # Создание списка для подсчёта элементов в каждом интервале +... intervals=[] +... for i in range(bins + 1): +... intervals.append(lowerBound + i * binWidth) +... for j in range(bins): +... c = 0 +... for num in x: +... if intervals[j] <= num < intervals[j+1]: +... c += 1 +... elif num == upperBound and j == bins - 1: +... c += 1 +... binsElements.append(c) +... print("[Лев.гр Прав.гр] Кол-во эл-в") # Левая и правая границы интервала +... for w in range(bins): +... print(f"{intervals[w]:.2f} {intervals[w+1]:.2f} {binsElements[w]}") +... return binsElements >>> data = [random.gauss(1, 20) for _ in range(100)] ->>> histogram (data, 5) +>>> hist=createHistogram (data, 5) + [Лев.гр Прав.гр] Кол-во эл-в + -44.79 -24.74 9 + -24.74 -4.69 29 + -4.69 15.36 38 + 15.36 35.42 22 + 35.42 55.47 2 +>>> print(hist) + [9, 29, 38, 22, 2] ``` -![График](Figure_2.png) + ```py >>> #3 >>> linear_regression = lambda b1, b2, x: b1+b2 * x