Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- __author__ = 'elianasullivan'
- #THIS CODE GRAPHS HOW THE ESTIMATE OF PI CHANGES WITH ERROR BARS THAT ARE EQUAL TO THE ABS(MATH.PI-PI_ESTIMATE)
- import random
- import math
- import matplotlib.pyplot as plt
- def error_bar_estimator(min_size,max_size, step):
- circle_count = 0
- square_count = 0
- sampsize_list = []
- error_list = []
- estimates_list = []
- for samp_size in range(min_size,max_size,step):
- for dart in range(samp_size):
- x_coord = random.random()
- y_coord = random.random()
- if ((x_coord)**2)+((y_coord)**2) <= 1:
- circle_count += 1
- square_count += 1
- else:
- square_count += 1
- #calculate the error of each estimate
- pi_estimate = 4*(float(circle_count)/square_count)
- error = abs((math.pi)-(pi_estimate))
- #create lists to prepare for graphing
- estimates_list.append(pi_estimate)
- sampsize_list.append(samp_size)
- error_list.append(error)
- #creates graph
- plt.errorbar(sampsize_list,estimates_list, yerr=error_list, linewidth = 1.5)
- plt.xlabel("Number of Darts")
- plt.ylabel("Pi Estimate")
- plt.title("Pi Estimate with Varying Number of Darts")
- plt.plot((0, max_size), (math.pi, math.pi), linewidth=2.0)
- plt.show()
- print error_bar_estimator(1000,10000,50)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement