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;

 Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 22 de Sept. de 2019
Editada: KALYAN ACHARJYA el 22 de Sept. de 2019

0 votos

"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);

Más respuestas (1)

madhan ravi
madhan ravi el 22 de Sept. de 2019

1 voto

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 comentario

KALYAN ACHARJYA
KALYAN ACHARJYA el 22 de Sept. de 2019
Yes @Madhan, I haven't noticed that

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 22 de Sept. de 2019

Comentada:

el 22 de Sept. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by