how to generate random point that have fix distance between each point

3 次查看(过去 30 天)
i can generate random point within a specific area
like this
x=rand(1,100)*5
y=rand(1,100)*5
scatter(x,y)
but i want each point generated within x<1 & y<1
must not be less than 0.05 near the pervous generated points. so no interaction between each point generated.
is it any fucntion can do thing like that?

采纳的回答

Matt J
Matt J 2021-6-27
Another idea is to generate a chequerboard, and then pick a random point inside all the black (or all the white) squares.
[x,y]=ndgrid((0:2:19)/20);
x=x(:)+rand(size(x(:)))*0.05;
y=y(:)+rand(size(y(:)))*0.05;
scatter(x,y)

更多回答(1 个)

dpb
dpb 2021-6-27
I see two possible simple alternatives--
  1. Just use rejection technique to remove those within the prescribed distance metric(*), or
  2. Generate a regular grid at prescribed distance beginning at a random point; then make a random selection of N of those points.
(*) Is this global or, just as the Q? is worded, successive realizations; could still be R<Dmin between new point and some prior point earlier than the previous?

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by