pi का मान निकालना
अब हम एक क्लासिक उदाहरण पर काम करते हैं — \(\pi\) का मान अनुमानित करना.
एक ऐसे वर्ग (square) की कल्पना कीजिए जिसकी भुजा \(2\) हो, जिसका केंद्र मूलबिंदु \((0, 0)\) पर हो, और जिसके चारों कोनों के निर्देशांक \((1, 1), (1, -1), (-1, 1), (-1, -1)\) हों. इस वर्ग का क्षेत्रफल \(2\times 2 = 4\) है. अब एक ऐसे वृत्त की कल्पना कीजिए जिसकी त्रिज्या \(1\) है और केंद्र मूलबिंदु पर है, जो इस वर्ग के भीतर पूरी तरह फिट होता है. उस वृत्त का क्षेत्रफल \(\pi \times \text{radius}^2 = \pi\) होगा.
\(\pi\) का अनुमान लगाने के लिए, हम इस वर्ग के भीतर कई बिंदु रैंडम रूप से सैंपल करते हैं और वृत्त के अंदर आने वाले बिंदुओं का अनुपात निकालते हैं (\(x^2 + y^2 <= 1\)). तब वृत्त का क्षेत्रफल इस अनुपात का \(4\) गुना होगा, जो हमें \(\pi\) का अनुमान देता है.
इस अभ्यास के बाद, आप समझेंगे कि computation के लिए simulation का उपयोग कैसे करें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Statistical Simulation
अभ्यास निर्देश
- कंसोल में
np.piका उपयोग करके \(\pi\) के वास्तविक मान को देखें.simsको 10000 औरcircle_pointsको 0 से initialize करें. forलूप के भीतर,np.random.uniform()का उपयोग करके -1 और 1 के बीचsize=2के साथ एक बिंदु (x और y कोऑर्डिनेट) जनरेट करें.- जाँचें कि क्या बिंदु यूनिट सर्कल के भीतर आता है, समीकरण \(x^2 + y^2 <= 1\) के साथ. परिणाम को
within_circleमें असाइन करें और उसी अनुसारcircle_pointsबढ़ाएँ. - सर्कल के भीतर आने वाले बिंदुओं के अनुपात का 4 गुना लेकर \(\pi\) का अनुमान
pi_simप्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize sims and circle_points
sims, circle_points = ____, ____
for i in range(sims):
# Generate the two coordinates of a point
point = ____
# if the point lies within the unit circle, increment counter
within_circle = point[0]**2 + point[1]**2 <= 1
if ____ == True:
circle_points +=1
# Estimate pi as 4 times the avg number of points in the circle.
pi_sim = ____
print("Simulated value of pi = {}".format(pi_sim))