Generate Random Number inside a closed area
Afficher commentaires plus anciens
Hi,
There is a closed area, as figure1.We wanna have random number inside it.

figure1. An Area with defined boundry poinst.
Since Code has many different layers, I prefer not to use "WHILE" like below. ("Data" is Attached)
load('Data');
in=0;
while ~in
Point(1)=unifrnd( min(x),max(x) );
Point(2)=unifrnd( min(y),max(y) );
in=inpolygon(Point(1),Point(2),x,y);
end
plot(x,y,Point(1),Point(2),'^');
Do you know any ready-to-go command which takes Boundary of a closed area, and gives a random point within it?
Thanks for your helping. <3
Réponse acceptée
Plus de réponses (2)
Dimitris Kalogiros
le 5 Oct 2019
0 votes
Run your code many times and store the resulting point ( variable Point) into a file. Then every time you need a random point from the wanted area, you can have you choose randomly a point from this file.
1 commentaire
Armin Mashhadi
le 5 Oct 2019
Image Analyst
le 5 Oct 2019
0 votes
I don't think there is a built in function to do that. I think your strategy of using inpolygon() until you get a point inside is what I'd do.
Catégories
En savoir plus sur Polygonal Shapes dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!







