Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

пр5 / main

.py
Скачиваний:
0
Добавлен:
28.03.2026
Размер:
1.96 Кб
Скачать
from matplotlib import pyplot as plt

def graph(x, y, x_label, y_label, title):
    plt.plot(x, y)
    plt.xlabel(x_label)
    plt.ylabel(y_label)
    plt.grid(True)
    plt.title(title)
    plt.show()

def erl1(A, n):
    a = 1
    v = 1
    s = 0
    for i in range(0, n):
        a = a * A
        v = v * (n + 1)
        e = a / v
        s += e
    res = a / v
    res = res / s
    return res

def erl2(A, n):
    x = erl1(A, n)
    y = 1 - x
    z = A / n
    y = z * y
    y = 1 - y
    return x / y
    
def queueLength(A, n):
    x = (A * erl1(A, n)) / ((n - A) + A * erl1(A, n))
    v = n / (n - A)
    return x * v

x,y1,y2 = [],[],[]
for i in range(1, 183):
    x.append(i)
    y2.append(queueLength(i, 184))
    y1.append(erl2(i, 184))
graph(x, y1, "Интенсивность поступающей нагрузки", "Вероятность ожидания начала обслуживания", "Вторая формула Эрланга, Количество обслуживающих устройств = 184")
graph(x, y2, "Интенсивность поступающей нагрузки", "Длина очереди", "Вторая формула Эрланга, Количество обслуживающих устройств = 184")

x,y1,y2 = [],[],[]
for i in range(93, 115):
    x.append(i)
    y2.append(queueLength(92, i))
    y1.append(erl2(92, i)) 
        
graph(x, y1, "Количество обслуживающих устройств", "Вероятность ожидания начала обслуживания", "Вторая формула Эрланга, Интенсивность поступающей нагрузки = 92")
graph(x, y2, "Количество обслуживающих устройств", "Длина очереди", "Вторая формула Эрланга, Интенсивность поступающей нагрузки = 92")
Соседние файлы в папке пр5