Monte Carlo Simulation Code

4 Ansichten (letzte 30 Tage)
Alejandra Bremuantz
Alejandra Bremuantz am 14 Feb. 2019
Kommentiert: Image Analyst am 17 Apr. 2020
Hello! Can anyone help me out please!!!
I just started using matlab and I have to create a program that caculates the value of pi using the equation ? = ?/ ? 2 . First I need to calculate the value of A within a given radius of 4, and then im given this information: to estimate the area of a circle, we first note that we have a way to determine whether or not a point (x, y) is inside a circle that is centered at the origin and has radius r. Specifically, the distance from the origin to (x, y) is given by: ???????? = √? 2 + ? 2. If this distance is less than or equal to a radius r, then the point (x, y) is within the circle.
My program has to calculate the amount of sqaures that are within the circle because that eqauls the are. Can anyone help??
  3 Kommentare
Yidnekachew A sima
Yidnekachew A sima am 16 Apr. 2020
Bearbeitet: Yidnekachew A sima am 17 Apr. 2020
function [estimatepi,c] = estimatepi9(tol)
x=rand;
y=rand;
c=0;
hits=rand;
n= 0;
hit=[];
error=[];
estimatepi=[];
tol=0.0001;
error = abs(pi-estimatepi)-tol;
while error>tol
n=n+1;
x=rand;
y=rand;
hit=(x-0.5).^2+(y.^2)<=1;
for c=1:n;
hits=sum(hit);
estimatepi=4*hits/n;
end
end
end
I am geting un empty set for this file can anyone help?
Image Analyst
Image Analyst am 17 Apr. 2020
You need to index hit so that it's a vector.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 14 Feb. 2019
You need to set x and y to rand(), not zero.
You should know that all Monte Carlo simulations use random numbers, and nowhere in your program do you call rand().
You should also do the loop some number of times, not just once like r==4 would do
for counter = 1 : 10000000 % Try 10 million times.
x = r * rand
y = r * rand
% etc.
% DO NOT increment counter in the loop!
end
  1 Kommentar
Alejandra Bremuantz
Alejandra Bremuantz am 14 Feb. 2019
Thank you so much for your respone!
The thing is that the guidelines of the assignment don't let me use a random number generator.
I have to place the center of the circle at the origin so x=0 and y=0 and then set the value of r=4. Only if the distance is equal to or less than the raidus the sqaure is inside of the circle.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Monte-Carlo finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by