美文网首页
无标题文章

无标题文章

作者: 大乔治 | 来源:发表于2017-01-07 17:22 被阅读0次

    import random

    import numpy as np

    import matplotlib.pyplot as plt

    import math

    def randpath(tt):

    b=[]

    bb=[]

    b.append(0)

    bb.append(0)

    b2=[]

    for i in range(tt):

    c=random.random()

    bb.append(i+1)

    if c<=0.5:

    b.append(b[-1]+1)

    else:

    b.append(b[-1]-1)

    for j in range(len(b)):

    b2.append(b[j])

    return b,bb,b2

    a,b,c=randpath(1000)

    a1,b1,c1=randpath(1000)

    for k in range(len(b)):

    plt.scatter([b[k],],[c[k],],10,color='blue')

    plt.scatter([b1[k],],[c1[k],],10,color='red')

    plt.xlim(0,1000)

    plt.xlabel('time/step number')

    plt.ylabel('X')

    plt.title('random walk in one dimension')

    plt.show()

    """

    c111=[0]*101

    for i in range(2000):

    a1,b1,c1=randpath(100)

    for j in range(len(a1)):

    c111[j]=c111[j]+c1[j]/2000.0

    for k in range(len(b1)):

    plt.scatter([b1[k],],[c111[k],],5,color='orange',label='the average for 2000')

    c22=[]

    c11=[0]*101

    for i in range(20000):

    a1,b1,c1=randpath(100)

    for j in range(len(a1)):

    c11[j]=c11[j]+c1[j]/20000.0

    for k in range(len(b1)):

    plt.scatter([b1[k],],[c11[k],],5,color='green',label='the average for 20000')

    plt.scatter([b1[k],],[a1[k],], 3, color ='orange')

    z1=np.polyfit(b1, c11,1)

    for i in range(len(b1)):

    c22.append(z1[0]*b1[i]+z1[1])

    plt.plot(b1,c22,color='red')

    plt.xlim(0,100)

    plt.ylim(0,100)

    plt.xlabel('time/step number')

    plt.ylabel('the average square distance')

    plt.title('the random walk in one dimesion')

    print z1

    plt.legend(loc='upper right',frameon=True)

    plt.show()

    """

    相关文章

      网友评论

          本文标题:无标题文章

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