Count in a loop

28 visualizzazioni (ultimi 30 giorni)
BMNX
BMNX il 22 Set 2019
Commentato: KALYAN ACHARJYA il 22 Set 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;

Risposta accettata

KALYAN ACHARJYA
KALYAN ACHARJYA il 22 Set 2019
Modificato: KALYAN ACHARJYA il 22 Set 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);

Più risposte (1)

madhan ravi
madhan ravi il 22 Set 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 Commento
KALYAN ACHARJYA
KALYAN ACHARJYA il 22 Set 2019
Yes @Madhan, I haven't noticed that

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by