[关闭]
@rfhongyi 2017-01-07T14:16:39.000000Z 字数 11283 阅读 886

Final Exercise: Random Systems

3.gif

冉峰 弘毅班 2014301020064

Email : 2974084014@qq.com

Tel : 13125053265


Abstract


Key Words


Background


1D Model


2D Model


3D Model


Diffusion constant


The Main Body

Code

  1. @author: RF
  2. def __init__(self,x=0,y=0,z=0):
  3. self.x=[x]
  4. self.y=[y]
  5. self.z=[z]
  6. self.temx=0
  7. self.temy=0
  8. self.temz=0
  9. self.direct=0
  10. self.n=[0]
  11. self.dn=0
  12. self.squx=[0]*100
  13. self.squy=[0]*100
  14. self.squz=[0]*100
  15. self.r=[0]*100
  16. def run(self):
  17. for n in range(1000):
  18. s=random.randint(0,150)
  19. if s<=25:
  20. self.temy=self.temy+1
  21. elif s<=50:
  22. self.temy=self.temy-1
  23. elif s<=75:
  24. self.temx=self.temx-1
  25. elif s<=100:
  26. self.temx=self.temx+1
  27. elif s<=125:
  28. self.temz=self.temz+1
  29. else:
  30. self.temz=self.temz-1
  31. self.dn=self.dn+1
  32. self.x.append(self.temx)
  33. self.y.append(self.temy)
  34. self.z.append(self.temz)
  35. self.n.append(self.dn)

  1. for n in range(100):
  2. s=random.randint(0,628)
  3. s=s/100
  4. self.dn=self.dn+1
  5. self.temx=self.temx+1*math.cos(s)
  6. self.temy=self.temy+1*math.sin(s)
  7. self.x.append(self.temx)
  8. self.y.append(self.temy)
  9. self.n.append(self.dn)

  1. for n in range(500):
  2. temx=0
  3. temy=0
  4. temz=0
  5. for m in range(100):
  6. s=random.randint(50,100)
  7. if s<=25:
  8. temy=temy+1
  9. elif s<=50:
  10. temy=temy-1
  11. elif s<=75:
  12. temx=temx-2
  13. elif s<=100:
  14. temx=temx+2
  15. elif s<=125:
  16. temz=temz+1
  17. else:
  18. temz=temz-1
  19. self.squx[m]=self.squx[m]+(temx**2)/500
  20. self.squy[m]=self.squy[m]+(temy**2)/500
  21. self.squz[m]=self.squz[m]+(temz**2)/500
  22. self.r[m]=self.squx[m]


Result





Conclusion


Thanks For

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注