Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import factorial
- import matplotlib
- import matplotlib.pyplot as plt
- #Вычисление первой формулы Эрланга
- def Erlang_one(A, n):
- E_1 = 1
- for i in range(1, n+1):
- E_1 = 1 + E_1*(i/A)
- return 1/E_1
- #Вычисление второй формулы Эрланга
- def Erlang_two(A,n):
- E_1 = Erlang_one(A,n)
- E_2 = E_1/(1-A/n*(1-E_1))
- return (E_2)
- #Вычисление длины очереди
- def length(A,n):
- E_1 = Erlang_one(A,n)
- L = (A*E_1*n)/((n-A)+A*E_1*(n-A))
- return L
- #Графики
- n = 70
- A = 35
- #1.1
- X = []
- Y = []
- for A in range (1,1000):
- E = Erlang_one(A,n)
- X.append(A)
- Y.append(E)
- plt.plot(X,Y, color = 'k')
- plt.xlabel("Интенсивность поступающей нагрузки")
- plt.ylabel("Вероятность блокировки заявки")
- plt.show()
- #
- #1.2
- X = []
- Y = []
- for n in range (1,100):
- E = Erlang_one(A, n)
- X.append(n)
- Y.append(E)
- plt.plot(X,Y, color = 'k')
- plt.xlabel("Число обслуживающих устройств")
- plt.ylabel("Вероятность блокировки заявки")
- plt.show()
- #
- #2.1
- X = []
- Y = []
- for A in range(1,71):
- P = Erlang_two(A,n)
- X.append(A)
- Y.append(P)
- plt.plot(X,Y, color = 'k')
- plt.xlabel("Интенсивность поступающей нагрузки")
- plt.ylabel("Вероятность ожидания начала обслуживания")
- plt.show()
- #2.2
- X = []
- Y = []
- for A in range (1,70):
- L = length(A,n)
- X.append(A)
- Y.append(L)
- plt.plot(X,Y, color = 'k')
- plt.xlabel("Интенсивность поступающей нагрузки")
- plt.ylabel("Средняя длина очереди")
- plt.show()
- #2.3
- X = []
- Y = []
- for n in range(35,100):
- E = Erlang_two(A,n)
- X.append(n)
- Y.append(E)
- plt.plot(X,Y, color = 'k')
- plt.xlabel("Число обсуживающих устройств")
- plt.ylabel("Вероятность ожидания начала обслуживания")
- plt.show()
- #2.4
- X = []
- Y = []
- for n in range (36,100):
- L = length(A,n)
- X.append(n)
- Y.append(L)
- plt.plot(X,Y,color = 'k')
- plt.xlabel("Число обслуживающих устройств")
- plt.ylabel("Средняя длина очереди")
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement