ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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()