EGEN102 Python assignment I uploaded for you the assignment please help me at it. EGEN 102 Introduction to Engineering Computations and Applications Spring
EGEN102 Python assignment I uploaded for you the assignment please help me at it. EGEN 102
Introduction to Engineering Computations and Applications
Spring 2019
Homework #3
Due Tuesday, February 5, 2019 at 12:00pm on Brightspace
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 ( 2 )/4 = /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 choose ‘many’
random points, we can estimate the value of because 4 x (fraction inside the circle) = . 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., for the random point ( , ), 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 is the difference between the estimate of
from the algorithm and the ‘true’ value) 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
have also been reminded to include your Python code in the appendix of the memo/report.
Hint:
One approach is to first start a loop and then generate a point (x,y) every iteration using:
x,y = numpy.random.rand(2)
and a second approach is to generate a big list of pairs of random numbers using:
pt = numpy.random.random((n,2)) # n rows, two columns, x and y values
Purchase answer to see full
attachment