# EGEN 102 Introduction to Engineering Computations and Applications Spring 2016 Homework #3 Tuesday, February 9

Question # 40031 | 5 years ago |
---|

$20 |
---|

You have been hired by the secretive ๐๐-society to analyze a new strategy for calculating the value of ๐๐ through the development of a Python program. Here is the basic format of the strategy provided to you by the ๐๐-society. Begin by recognizing that the area of a unit square (height = 1.0, width = 1.0) is 1.0 and the area of a quarter circle, which lies entirely within the unit square is ๐๐/4. Now imagine that we choose a random point (๐ฅ๐ฅ,๐ฆ๐ฆ) within the unit square. The probability of that random point being within the quarter unit circle is ๐๐ 4≈79% because 79% of the area of the unit square is covered by the quarter unit circle! Now, if we cho ose ‘many’ random points, we can estimate the value of ๐๐ because 4×( ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ ๐๐๐๐๐ ๐ ๐๐๐ ๐ ๐ ๐ ๐๐โ๐ ๐ ๐๐๐๐๐๐๐๐๐๐๐ ๐ )=๐๐. Hence, we just need to select ‘many’ or ๐๐ random points (i.e., a point is two random floating point numbers between 0-1.0, see numpy.random.random()), then loop through the ๐๐ points and check to see if each point is inside the quarter unit circle (i.e., is ๏ฟฝ๐ฅ๐ฅ2+๐ฆ๐ฆ2< 1.0), and then count the fraction of the ๐๐ points inside the quarter unit circle. The figure below shows 3000 random points on the unit square – the red points are inside the quarter unit circle and the blue points are outside.

You should write a memo to the ๐๐-society that summarizes your analysis of the feasibility of this algorithm. The report should include a figure, which may be generated using Excel or matplotlib, that shows the accuracy of the proposed strategy on the y-axis (accuracy = |๐๐−๐๐๐๐๐๐๐๐๐๐๐ฅ๐ฅ๐๐๐๐๐๐๐๐๐๐๐๐๐๐|) versus the number of random points used on the x-axis. The Python program should gain accuracy with more points. The head of the ๐๐-society casually mentioned that you should try, “maybe 100, or 1000, or 10,000 random points” to see how the number of points impacts the accuracy. You consider possibly trying one or two different numbers of random points beyond those three values. You have also been reminded to include your Python code in the appendix of the memo/report