Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. start_time = time.time()
  2. r = 120
  3. xg,yg = [], []
  4. def experiment(N):
  5. M = 0
  6. cnt = 0
  7. for _ in range(N):
  8. x1 = uniform(-120,120)
  9. x2 = uniform(-120,120)
  10. y1 = uniform(-120,120)
  11. y2 = uniform(-120,120)
  12. if x1**2 + y1**2 <= r**2 and x2**2 + y2**2 <= r**2:
  13. M += 1
  14. dl1 = sqrt(x1**2 + y1**2)
  15. dl2 = sqrt(x2**2 + y2**2)
  16. if dl1 < dl2:
  17. if dl1 >= 60:
  18. cnt += 1
  19. if N == 100000:
  20. xg.append(x1)
  21. yg.append(y1)
  22. else:
  23. if dl2 >= 60:
  24. cnt += 1
  25. if N == 100000:
  26. xg.append(x2)
  27. yg.append(y2)
  28.  
  29. return cnt / M
  30. print("Ответ:",experiment(100000))
  31. x = [i for i in range(1000,100000,1000)]
  32. y = [experiment(i) for i in x]
  33. plt.title("Probability")
  34. plt.plot(x[3:],y[3:])
  35. plt.plot ([1, 100000],[0.5625,0.5625], 'r-')
  36. plt.rcParams['figure.figsize'] = (10, 6)
  37. plt.rcParams['figure.dpi'] = 150
  38. plt.show()
  39. plt.plot(xg,yg,linestyle="",color="red",marker="o")
  40. circle= plt.Circle((0,0), radius= 60)
  41. ax=plt.gca()
  42. ax.add_patch(circle)
  43. plt.xlim(xmin = -150,xmax = 150)
  44. plt.ylim(ymin = -150,ymax = 150)
  45. plt.rcParams['figure.figsize'] = (10, 6)
  46. plt.rcParams['figure.dpi'] = 150
  47. plt.show()
  48. print(f"Time:{time.time() - start_time}")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement