Приложение д «Построение графиков оценок алгоритмов и запуск программы»
#
построение графиков оценок
def
plot_results(results):
fig,
axs = plt.subplots(1, 3, figsize=(15, 5)) # три графика в
ряд
rating
= ['minD', 'meanD', 'sumD'] # вар.
оценок
#
названия
titles
= ['Средняя минимальная скорость от числа
АБ', 'Средняя скорость от числа АБ',
'Средняя суммарная скорость от числа
АБ']
#
перебор
вар.
оценок
for
i, r in enumerate(rating):
#
перебор
алгоритмов
for
algo_name, data in results.items():
#
построение
оценок
алгоритма
axs[i].plot(data['count'],
data[r], label=algo_name)
axs[i].set_title(titles[i])
axs[i].set_xlabel('Количество
абонентов')
axs[i].set_ylabel('Скорость
передачи')
axs[i].legend()
axs[i].grid(True)
# сетка
plt.tight_layout()
plt.show()
def
main():
#
генерация 10 000 Аб для демонстрации
распределения
subs
= generate_ab(5000)
plot_ab_histogram(subs)
#
генерация N АБ по 100 прогонов и вычисление
оценок
n_ab
= [2**i for i in range(0, 7)]
results
= modulate(n_ab, 100)
#
пример распределения АБ в радиусе БС
plot_ab(subs)
#
графики
оценок
plot_results(results)
main()