第6章
习题:2、12、14、19
附:Aloha
import matplotlib.pyplot as plt
import numpy as np
def slotted_aloha_efficiency(N, p):
G = N * p
efficiency = G * np.exp(-G)
return efficiency
def pure_aloha_efficiency(N, p):
G = N * p
efficiency = G * np.exp(-2 * G)
return efficiency
def plot_slotted_aloha_efficiency():
p_values = np.arange(0, 1, 0.01)
plt.figure(figsize=(8, 6))
# Plot for N = 15
efficiency_slot_15 = slotted_aloha_efficiency(15, p_values)
plt.plot(p_values, efficiency_slot_15, label='N=15')
# Plot for N = 25
efficiency_slot_25 = slotted_aloha_efficiency(25, p_values)
plt.plot(p_values, efficiency_slot_25, label='N=25')
# Plot for N = 35
efficiency_slot_35 = slotted_aloha_efficiency(35, p_values)
plt.plot(p_values, efficiency_slot_35, label='N=35')
plt.title('Efficiency of Slotted ALOHA')
plt.xlabel('Transmission Probability (p)')
plt.ylabel('Efficiency')
plt.legend()
plt.grid(True)
plt.show()
def plot_pure_aloha_efficiency():
p_values = np.arange(0, 1, 0.01)
plt.figure(figsize=(8, 6))
# Plot for N = 15
efficiency_pure_15 = pure_aloha_efficiency(15, p_values)
plt.plot(p_values, efficiency_pure_15, label='N=15')
# Plot for N = 25
efficiency_pure_25 = pure_aloha_efficiency(25, p_values)
plt.plot(p_values, efficiency_pure_25, label='N=25')
# Plot for N = 35
efficiency_pure_35 = pure_aloha_efficiency(35, p_values)
plt.plot(p_values, efficiency_pure_35, label='N=35')
plt.title('Efficiency of Pure ALOHA')
plt.xlabel('Transmission Probability (p)')
plt.ylabel('Efficiency')
plt.legend()
plt.grid(True)
plt.show()
def slotted_aloha_efficiency(N, p):
G = N * p
efficiency = G * np.exp(-G)
return efficiency
def pure_aloha_efficiency(N, p):
G = N * p
efficiency = G * np.exp(-2 * G)
return efficiency
def plot_combined_efficiency():
p_values = np.arange(0, 1, 0.01)
plt.figure(figsize=(10, 8))
# Plot Slotted ALOHA efficiencies
efficiency_slot_15 = slotted_aloha_efficiency(15, p_values)
efficiency_slot_25 = slotted_aloha_efficiency(25, p_values)
efficiency_slot_35 = slotted_aloha_efficiency(35, p_values)
plt.plot(p_values, efficiency_slot_15, label='Slotted ALOHA (N=15)')
plt.plot(p_values, efficiency_slot_25, label='Slotted ALOHA (N=25)')
plt.plot(p_values, efficiency_slot_35, label='Slotted ALOHA (N=35)')
# Plot Pure ALOHA efficiencies
efficiency_pure_15 = pure_aloha_efficiency(15, p_values)
efficiency_pure_25 = pure_aloha_efficiency(25, p_values)
efficiency_pure_35 = pure_aloha_efficiency(35, p_values)
plt.plot(p_values, efficiency_pure_15, label='Pure ALOHA (N=15)')
plt.plot(p_values, efficiency_pure_25, label='Pure ALOHA (N=25)')
plt.plot(p_values, efficiency_pure_35, label='Pure ALOHA (N=35)')
plt.title('Efficiency of Slotted ALOHA and Pure ALOHA')
plt.xlabel('Transmission Probability (p)')
plt.ylabel('Efficiency')
plt.legend()
plt.grid(True)
plt.show()
# Plot Slotted ALOHA efficiencies
plot_slotted_aloha_efficiency()
# Plot Pure ALOHA efficiencies
plot_pure_aloha_efficiency()
# Plot combined efficiencies
plot_combined_efficiency()