Generate Random Number inside a closed area
이전 댓글 표시
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
채택된 답변
추가 답변 (2개)
Dimitris Kalogiros
2019년 10월 5일
0 개 추천
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.
Image Analyst
2019년 10월 5일
0 개 추천
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.
카테고리
도움말 센터 및 File Exchange에서 Polygonal Shapes에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!







