/
beeval
/
repository
Обзор
Документация
Войти
/
beeval
/
repository
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
ADII/2.py
65 строк
3 KB
beeval
update ADII/2.py
06 окт 2025, 21:44
06 окт 2025, 21:44
a0f7954
Код
Авторство
О чём код?
import numpy as np from scipy.stats import norm, uniform, beta, triang np.random.seed(42) # Фиксируем seed для повторяемости результатов N = 10000 # Размер выборки # Триугольное распределение triangle_low = 20 # Мин. температура triangle_high = 35 # Макс. температура triangle_mode = 25 # Наиболее вероятная температура (центр тяжести близок к минимуму) # Генерируем выборку triangle_samples = triang.rvs(loc=triangle_low, scale=triangle_high - triangle_low, c=(triangle_mode - triangle_low)/(triangle_high - triangle_low), size=N) # Основные характеристики tria_mean = triangle_samples.mean() tria_var = triangle_samples.var() tria_median = np.median(triangle_samples) tria_prob_above_30 = sum(triangle_samples > 30)/len(triangle_samples) print("Триугольное распределение:") print(f"Среднее: {tria_mean:.2f}, Дисперсия: {tria_var:.2f}, Медиана: {tria_median:.2f}, Вероятность P(T>30): {tria_prob_above_30:.2%}") # Нормальное распределение norm_mean = 27 # Центр распределения близко к середине диапазона norm_stddev = 3 # Небольшое стандартное отклонение для концентрации вокруг среднего # Генерируем выборку normal_samples = norm.rvs(loc=norm_mean, scale=norm_stddev, size=N) normal_samples_clipped = np.clip(normal_samples, 20, 35) # Ограничиваем диапазон [20, 35] # Основные характеристики norm_mean_clipped = normal_samples_clipped.mean() norm_var_clipped = normal_samples_clipped.var() norm_median_clipped = np.median(normal_samples_clipped) norm_prob_above_30 = sum(normal_samples_clipped > 30)/len(normal_samples_clipped) print("\nНормальное распределение:") print(f"Среднее: {norm_mean_clipped:.2f}, Дисперсия: {norm_var_clipped:.2f}, Медиана: {norm_median_clipped:.2f}, Вероятность P(T>30): {norm_prob_above_30:.2%}") # Равномерное распределение uniform_samples = uniform.rvs(loc=20, scale=15, size=N) # Основные характеристики unif_mean = uniform_samples.mean() unif_var = uniform_samples.var() unif_median = np.median(uniform_samples) unif_prob_above_30 = sum(uniform_samples > 30)/len(uniform_samples) print("\nРавномерное распределение:") print(f"Среднее: {unif_mean:.2f}, Дисперсия: {unif_var:.2f}, Медиана: {unif_median:.2f}, Вероятность P(T>30): {unif_prob_above_30:.2%}") # Бета-распределение beta_a = 2 # Первый параметр альфа beta_b = 5 # Второй параметр бета beta_samples = 20 + 15 * beta.rvs(beta_a, beta_b, size=N) # Основные характеристики beta_mean = beta_samples.mean() beta_var = beta_samples.var() beta_median = np.median(beta_samples) beta_prob_above_30 = sum(beta_samples > 30)/len(beta_samples) print("\nБета-распределение:") print(f"Среднее: {beta_mean:.2f}, Дисперсия: {beta_var:.2f}, Медиана: {beta_median:.2f}, Вероятность P(T>30): {beta_prob_above_30:.2%}")