Monte Carlo Simulation Code

4 vues (au cours des 30 derniers jours)
Alejandra Bremuantz
Alejandra Bremuantz le 14 Fév 2019
Commenté : Image Analyst le 17 Avr 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 commentaires
Yidnekachew A sima
Yidnekachew A sima le 16 Avr 2020
Modifié(e) : Yidnekachew A sima le 17 Avr 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 le 17 Avr 2020
You need to index hit so that it's a vector.

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 14 Fév 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 commentaire
Alejandra Bremuantz
Alejandra Bremuantz le 14 Fév 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Monte-Carlo dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by