无标题文章

import random

import numpy as np

import matplotlib.pyplot as plt

import math

def randpath(tt):

y=[]

x=[]

x.append(tt)

y.append(tt)

for i in range(tt):

cc=random.random()

if cc<=0.25:

x.append(x[-1])

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

elif cc<=0.5:

x.append(x[-1])

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

elif cc<=0.75:

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

y.append(y[-1])

else:

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

y.append(y[-1])

return x,y

ss=[]

ty=640

c1=[0](2ty+1)

bn=5000

t=[]

for g in range(1,ty,5):

t.append(g)

s=0

ct=[]

for i in range(2*ty+1):

ct.append(c1[:])

for i in range(1,bn):

a,b=randpath(g)

ct[a[-1]][b[-1]]=ct[a[-1]][b[-1]]+1.0/bn

for j in range(len(ct)):

for k in range(len(ct)):

if ct[j][k]!=0:

s=s-ct[j][k]*math.log(ct[j][k])

ss.append(s)

plt.plot(t,ss)

plt.xlim(0,640)

plt.ylim(0,)

plt.xlabel('time/step number')

plt.ylabel('entropy')

plt.title('enropy versus time')

plt.show()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • import random import numpy as np import matplotlib.pyplot...
    大乔治阅读 128评论 0 0
  • import matplotlib.pyplot as plt import numpy as np class ...
    大乔治阅读 201评论 0 0
  • """ Created on Wed Nov 16 21:04:04 2016 @author: TanMingj...
    大乔治阅读 221评论 0 0
  • import random import numpy as np import matplotlib.pyplot...
    大乔治阅读 231评论 0 0
  • 这段时间我有种很强烈的感觉,觉得雪糕最可爱,最美好的年纪到了。雪糕,即将满一岁三个月了。 刚出生头几个月,每天就是...
    文两文阅读 259评论 0 1