Count in a loop

37 views (last 30 days)
BMNX
BMNX on 22 Sep 2019
Commented: KALYAN ACHARJYA on 22 Sep 2019
Imagine a square with sides of 2 meter. In the centre is point M, at (0,0). We randomly throw darts at this square, which all hit at some location p on the square (uniform distribution). Next, we count the number of ‘hits’. Each dart is a hit when the distance from p to M is less than or equal to 1.
I have this code I dont know how to count the number of p that is less than or equal to 1
for i=1:100;
p_x= -1+(1+1)*rand;
p_y= -1+(1+1)*rand;
p = sqrt((p_x)^2 + (p_y)^2)
end;

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 22 Sep 2019
Edited: KALYAN ACHARJYA on 22 Sep 2019
"I have this code I dont know how to count the number of p that is less than or equal to 1"
count=0;
for i=1:100
p_x= -1+(1+1)*rand;
p_y= -1+(1+1)*rand;
p = sqrt((p_x)^2 + (p_y)^2)
if p<=1
count=count+1;
end
end
fprintf('The p count is (when p<=1): %d',count);

More Answers (1)

madhan ravi
madhan ravi on 22 Sep 2019
N = 100; % no loops needed
p_x= -1+(1+1)*rand(N,1);
p_y= -1+(1+1)*rand(N,1);
p = sqrt(p_x.^2 + p_y.^2);
fprintf('No of times P less than or equal to one:%d',nnz(p<=1))
  1 Comment
KALYAN ACHARJYA
KALYAN ACHARJYA on 22 Sep 2019
Yes @Madhan, I haven't noticed that

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!