शुरू करेंमुफ़्त में शुरू करें

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))
कोड संपादित करें और चलाएँ