Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

43 строки
1.5 KiB
Python

import matplotlib.pyplot as plt
import math
import statistics
def func1(sps):
variation_series = sorted(list(sps))
mean_val = statistics.mean(variation_series)
median_val = statistics.median(variation_series)
if len(variation_series) > 1:
std_val = statistics.stdev(variation_series)
else:
std_val = 0
params = [mean_val, median_val, std_val]
return variation_series, params
def func2(sps, nint):
data = list(sps)
min_val = min(data)
max_val = max(data)
interval_width = (max_val - min_val) / nint
bins = [min_val + i * interval_width for i in range(nint + 1)]
hist = []
bin_edges = []
for i in range(nint):
bin_start = bins[i]
bin_end = bins[i + 1]
if i == nint - 1:
count = sum(1 for x in data if bin_start <= x <= bin_end)
else:
count = sum(1 for x in data if bin_start <= x < bin_end)
hist.append(count)
bin_edges.append((bin_start, bin_end))
plt.figure(figsize=(10, 6))
plt.hist(data, bins=nint, edgecolor='black', alpha=0.7)
plt.title(f'Гистограмма выборки ({nint} интервалов)')
plt.xlabel('Значения')
plt.ylabel('Частота')
plt.grid(True, alpha=0.3)
plt.text(0.02, 0.98, f'Интервалов: {nint}', transform=plt.gca().transAxes,
verticalalignment='top', bbox=dict(boxstyle='round', facecolor='wheat', alpha=0.5))
plt.show()
histogram_result = [bin_edges, hist]
return histogram_result