ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 16

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.





Вариант №12

Сгенерировать последовательность из 50 случайных чисел с нормальным законом распределения mx=5, dx=4 и последовательность из 50 случайных чисел с экспоненциальным законом распределения с параметром =5. Все числа свести в массив, расположив их по возрастанию. Вычислить среднее значение, дисперсию и вывести результаты на печать в виде гистограммы, разбив последовательность чисел на 10 интервалов.
import numpy as np

import matplotlib.pyplot as plt
# генерируем последовательность из 50 случайных чисел с нормальным законом распределения

normal_distribution = np.random.normal(loc=5, scale = 2, size = 50)
# генерируем последовательность из 50 случайных чисел с экспоненциальным законом распределения

exponential_distribution = np.random.exponential(scale = 1 / 5, size = 50)
# объединяем две последовательности в один массив и сортируем его по возрастанию

result_array = np.concatenate((normal_distribution, exponential_distribution))

result_array = np.sort(result_array)
# вычисляем среднее значение и дисперсию для полученного массива

mean_value = np.mean(result_array)

variance_value = np.var(result_array)
# строим гистограмму для полученных данных

plt.hist(result_array, bins = 10, density = True, alpha = 0.5, color = 'purple', edgecolor = 'black')

plt.title('Распределение случайных чисел')

plt.xlabel('Значение')

plt.ylabel('Вероятность')

plt.axvline(x = mean_value, color = 'green', label = 'Среднее значение')

plt.axvline(x = mean_value + np.sqrt(variance_value), linestyle = '--', color = 'grey', label = 'Стандартное отклонение')

plt.axvline(x = mean_value - np.sqrt(variance_value), linestyle = '--', color = 'grey')

plt.legend()

plt.show()