add hw 7
This commit is contained in:
34
pracs/prac7/scripts/1.py
Normal file
34
pracs/prac7/scripts/1.py
Normal 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
20
pracs/prac7/scripts/2.py
Normal 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
22
pracs/prac7/scripts/3.py
Normal 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
23
pracs/prac7/scripts/4.py
Normal 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")
|
||||
Reference in New Issue
Block a user