1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
AlexFokin [52]
3 years ago
12

The Monte Carlo method is commonly used to approximate areas or volumes of shapes. In this problem, we will use Monte Carlo to f

ind the area of a circle, allowing us to estimate the value of Ï. Furthermore, we will use several different sample sizes to see how the accuracy increases with larger samples. PYTHON
Part 1

According to the formula A=Ïr^2, for a circle of radius 1, the area of the circle will be equal to Ï. Therefore, if we can use Monte Carlo to approximate the area of the circle, we can find an estimate for Ï.

Write a function calculate_pi that accepts a sample of x and corresponding y coordinates as arguments and returns an estimate for Ï (since we want to calculate Ï for various sample sizes, it will be useful for it to be a function). To simplify things, we will only consider a single quadrant of the unit circle (see gif above). Therefore, the area of the full circle will be 4 times the area we calculate for the single quadrant (and your function should take this into account).

Part 2

Using the calculate_pi function you wrote in Part 1, estimate the value of ÏÏ for different sample size of powers of 10 ranging from 10^0 to 10^6 (inclusive). Store these values in an array of size 7 named pi. Use the first portion of the coordinates for this purpose. So, if you needed 10 samples, you would do: xs[:10] to get the first 10 samples in xs

Part 3

Plot the absolute error of your approximations vs. the sample size on a log-log plot. The error can be obtained by subtracting the true value of ÏÏ from your approximations.

You should notice that the error decreases with larger sample sizes, although there may be a considerable amount of noise due to randomization. The order of convergence of Monte Carlo is O(1ân), so the slope of your plot should be around â1/2.

Output

The setup code gives the following variables:

Name Type Description
xs 1-d numpy array random numbers from 0 to 1
ys 1-d numpy array random numbers from 0 to 1
Your code snippet should define the following function(s) and variable(s):

Name Type Description
calculate_pi function function accepting 2 arrays (x and y sample coordinates, respectively) and returning an estimate for ÏÏ
pi 1-d numpy array estimates for ÏÏ as described above
We also ask for a plot of error vs. sample size. (Provide appropriate axes labels and a title.)
Computers and Technology
1 answer:
sdas [7]3 years ago
4 0

Answer:

import numpy as np

import matplotlib.pyplot as plt

def calculate_pi(x,y):

   points_in_circle=0

   for i in range(len(x)):

       if np.sqrt(x[i]**2+y[i]**2)<=1:

           points_in_circle+=1

       pi_value=4*points_in_circle/len(x)

       return pi_value

length=np.power(10,6)

x=np.random.rand(length)

y=np.random.rand(length)

pi=np.zeros(7)

sample_size=np.zeros(7)

for i in range(len(pi)):

   xs=x[:np.power(10,i)]

   ys=y[:np.power(10,i)]

   sample_size[i]=len(xs)

   pi_value=calculate_pi(xs,ys)

   pi[i]=pi_value

 

print("The value of pi at different sample size is")

print(pi)

plt.plot(sample_size,np.abs(pi-np.pi))

plt.xscale('log')

plt.yscale('log')

plt.xlabel('sample size')

plt.ylabel('absolute error')

plt.title('Error Vs Sample Size')

plt.show()

Explanation:

The python program gets the sample size of circles and the areas and returns a plot of one against the other as a line plot. The numpy package is used to mathematically create the circle samples as a series of random numbers while matplotlib's pyplot is used to plot for the visual statistics of the features of the samples.

You might be interested in
Determine the exact output of the code $str = "The quick brown fox jumps over the the lazy dog"; echo strpos($str, 'fox');
LuckyWell [14K]

Answer:

b. 16

Explanation:

The given PHP code segment consists of 2 statements.

$str="The quick brown fox jumps over the lazy dog";

This defines a variable $str and assigns the given text to it.

echo strpos($str,'fox');

This statement prints the location of 'fox' in the text associated with the variable $str.

Upon execution it will print the value 16 which corresponds to the position of 'fox' in the given sentence.

3 0
4 years ago
What is force? what are the types of force ? Explain all with suitable examples<br>​
ad-work [718]
Force is a push or pull which is exerted on an objects. Types of Force are

Contact forces
Non contact forces or At a distance forces

Examples of Contact forces are:
Stretching of the spring of a balance
pushing of a pram
kicking of a football
Pushing the door
Hitting the ball etc are some examples of contact forces.

some types of contact forces are given in the list below:

Applied force
Normal force
Frictional force
Tension force
Air resistance force
Spring force
6 0
4 years ago
What kind of device should you install if you need the device to perform network address translation, facilitate access to the I
just olya [345]
The Correct Answer would Be A Router.
8 0
3 years ago
Which type of worker would most likely be able to begin work after receiving a high school degree and completing an
makvit [3.9K]
I’m pretty sure it’s miner

“I’ll give you head I mean brainiest”
3 0
3 years ago
Given a 13 bit address bus, how many unique addressed could be accessed? g
valina [46]
2^13 = 8192 addresses
8 0
4 years ago
Other questions:
  • What is the function of a data bus
    11·1 answer
  • A host sends a packet to a local server on the company's wired ethernet lan via an access point. how many frames are necessary f
    6·1 answer
  • What’s the answer of Dennis Brylow’s computer science
    15·1 answer
  • What is a close-up shot, and when it is an appropriate shot choice in a film?
    6·1 answer
  • Create a hypothetical business withapproximately 50 to 100 employees. Place theemployees in two or three different departments.A
    14·1 answer
  • What are Boolean​ connectors? A. sites that connect you to more information on your topic B. databases that link your topic to a
    10·1 answer
  • an early type of GUI is created, which includes windows, pop-ups, icons, and menus. What year did this happen? Please help!!! qu
    12·1 answer
  • ICT Practical Work
    12·1 answer
  • Color.
    9·1 answer
  • To have the full protection of the law, copyrights, patients, and ______ should be registered with the government.
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!