This commit is contained in:
nik
2025-10-20 14:39:37 +03:00
parent eca3559e24
commit f256237ed2
11 changed files with 322 additions and 0 deletions

34
pracs/prac7/scripts/1.py Normal file
View File

@@ -0,0 +1,34 @@
import matplotlib.pyplot as plt
# Значения случайной величины
xi = [0, 1, 2, 3, 4]
# Вероятности
P = [16 / 81, 32 / 81, 24 / 81, 8 / 81, 1 / 81]
# Функция распределения
F = []
cum = 0
for p in P:
cum += p
F.append(cum)
plt.figure(figsize=(12, 5))
# График вероятностей
plt.subplot(1, 2, 1)
plt.bar(xi, P, color="skyblue")
plt.xlabel("xi")
plt.ylabel("P(xi)")
plt.title("Ряд распределения")
# График функции распределения
plt.subplot(1, 2, 2)
plt.step(xi, F, where="post", color="orange")
plt.scatter(xi, F, color="red")
plt.xlabel("xi")
plt.ylabel("F(xi)")
plt.title("Функция распределения")
plt.tight_layout()
plt.savefig("1.png")

20
pracs/prac7/scripts/2.py Normal file
View File

@@ -0,0 +1,20 @@
import matplotlib.pyplot as plt
import numpy as np
# Задача 2: гипергеометрическое распределение
xi2 = [0, 1, 2]
P2 = [1 / 45, 16 / 45, 28 / 45]
F2 = np.cumsum(P2)
plt.figure(figsize=(7, 5))
plt.bar(xi2, P2, color="skyblue", alpha=0.7, label="Вероятности")
plt.step(xi2, F2, where="post", color="orange", label="Функция распределения")
plt.scatter(xi2, F2, color="red")
plt.title("Задача 2: гипергеометрическое распределение")
plt.xlabel("xi")
plt.ylabel("P / F")
plt.xticks(xi2)
plt.legend()
plt.grid(axis="y", linestyle="--", alpha=0.6)
plt.tight_layout()
plt.savefig("2.png")

22
pracs/prac7/scripts/3.py Normal file
View File

@@ -0,0 +1,22 @@
import matplotlib.pyplot as plt
import numpy as np
# Задача 3: геометрическое распределение
p3 = 0.9
q3 = 1 - p3
xi3 = list(range(1, 11)) # ограничим до 10 вопросов
P3 = [p3 ** (k - 1) * q3 for k in xi3]
F3 = np.cumsum(P3)
plt.figure(figsize=(7, 5))
plt.bar(xi3, P3, color="lightgreen", alpha=0.7, label="Вероятности")
plt.step(xi3, F3, where="post", color="orange", label="Функция распределения")
plt.scatter(xi3, F3, color="red")
plt.title("Задача 3: геометрическое распределение")
plt.xlabel("xi")
plt.ylabel("P / F")
plt.xticks(xi3)
plt.legend()
plt.grid(axis="y", linestyle="--", alpha=0.6)
plt.tight_layout()
plt.savefig("3.png")

23
pracs/prac7/scripts/4.py Normal file
View File

@@ -0,0 +1,23 @@
from math import exp, factorial
import matplotlib.pyplot as plt
import numpy as np
# Задача 4: распределение Пуассона
lambda4 = 2
xi4 = list(range(0, 11))
P4 = [lambda4**k * exp(-lambda4) / factorial(k) for k in xi4]
F4 = np.cumsum(P4)
plt.figure(figsize=(7, 5))
plt.bar(xi4, P4, color="plum", alpha=0.7, label="Вероятности")
plt.step(xi4, F4, where="post", color="orange", label="Функция распределения")
plt.scatter(xi4, F4, color="red")
plt.title("Задача 4: распределение Пуассона")
plt.xlabel("xi")
plt.ylabel("P / F")
plt.xticks(xi4)
plt.legend()
plt.grid(axis="y", linestyle="--", alpha=0.6)
plt.tight_layout()
plt.savefig("4.png")