一维硬核泊松点过程MHCP

最近用到一维硬核随机点过程模拟车辆在路上的分布。

代码如下:

def mhcp(rho,  len, dist)->list:
    """
    rho:泊松分布点密度;
    len:分布在长为len的一维空间上;
    dist:硬核距离
    """
    num = np.random.poisson(rho)
    coor = np.random.rand(num) * len  # mark
    sort = np.sort(coor)
    mhcp = []
    i, j = 0, 0
    try:
        mhcp.append(sort[0])
        while i < num:  # select
            if sort[i] - sort[j] >= dist:
                mhcp.append(sort[i])
                j = i
            i += 1
    except IndexError:
        pass
    return mhcp

调用示例:

temp = mhcp(50, 1000, 20)
plt.scatter(temp, np.zeros_like(temp))
plt.show()

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值