HNU_计网_作业4(2021级)-第6章

第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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值