美文网首页
Numpy基础: 数组和矢量计算(随机数和随机漫步)

Numpy基础: 数组和矢量计算(随机数和随机漫步)

作者: 凉风起天末_ | 来源:发表于2019-02-12 20:29 被阅读0次

    np的random模块对Python内置random进行补充,增加了一些用于高效生成多种概率分布的样本值的函数

    函数 作用
    seed 随机数种子
    permutation 序列的随机排序
    shuffle 重新排序
    rand 即均匀分布的样本值[0,1)
    randint 给定上下限范围取一个整数
    randn 正态分布的样本值
    binomial 二项分布的样本值
    normal 正态分布的样本值
    beta Beta分布的样本值
    chisquare 卡方分布的样本值
    gamma gamma分布的样本值
    uniform 产生在[0,1)中均匀分布的样本值

    范例 随机漫步
    模拟随机漫步: 从0开始,步长为1或-1出现的概率相等.通过村Python的方式实现1000步的随机漫步

    import random
    import matplotlib.pyplot as plt
    
    position = 0
    walk = [position]
    steps = 1000
    for i in range(steps):
        step = 1 if random.randint(0,1) else -1
        position += step
        walk.append(position)
        
    walk_hund = walk[:100]
    
    xl = [i for i in range(100)]
    plt.plot(xl,walk_hund)
    

    使用np.random模块一次性随机参数1000个"投掷硬币"的结构,硬币的正反分别用1或-1表示

    nsteps = 1000
    draws = np.random.randint(0,2,size=nsteps)
    steps = np.where(draws > 0, 1,-1)
    walks = steps.cumsum()
    walks
    

    同时进行多个随机漫步模拟

    nsteps = 1000
    nwalks = 5000
    draws = np.random.randint(0,2,size=(nwalks,nsteps))
    steps = np.where(draws > 0, 1,-1)
    walks = steps.cumsum(1)
    walks
    

    相关文章

      网友评论

          本文标题:Numpy基础: 数组和矢量计算(随机数和随机漫步)

          本文链接:https://www.haomeiwen.com/subject/edtleqtx.html