uniformly distributed coordinate points

can anyone help me to generate uniformly distributed coordinate points inside a rectangular field.
Thanking u advance

回答(5 个)

You can also do the following if you want a uniform grid:
[X,Y] = meshgrid(linspace(1,1000,100),linspace(1,1000,100));
This will give X coordinates and Y coordinates for each grid point inside a 1000 x 1000 rectangle. The segmenting in terms of x and y are defined by the input vectors, in this case, I am choosing 100 points per side.
scatter(X(:),Y(:))
will show you all the points.
Andreas Goser
Andreas Goser 2011-3-10
This sounds like a one-liner with RAND or RANDI for me. Do you run into issues with this command or did you just not find it?

1 个评论

no, actually I need to generate coordinates from a 1000x1000 meter rectangular field. the coordinates should be uniformly distributed...
plz help...

请先登录,再进行评论。

xmin = -3;
xmax = pi;
npts = 42;
x = xmin + (xmax-xmin)*rand(npts,1);
Repeat for y.

4 个评论

after repeating, should I get a uniformly distributed coordinates?
yes. what i showed generates 42 x-coordinates uniformly distributed between -3 and pi. do the same for y, then scatter(x,y) will show the result.
To get all at once:
min = [ 1 1];
max = [10 3];
npts = 1000;
xy = bsxfun(@plus, min, bsxfun(@times, max-min,rand(npts,2)));
f = scatter(xy(:,1),xy(:,2),'.');
xlim([0,11])
ylim([0,4])

请先登录,再进行评论。

sh
sh 2013-6-17
Hi, thanks for your help. can you find the x-coordinate and y-coordinates of these points by coding only? many thanks
[X,Y,Z] = meshgrid(linspace(Start,stop, number of points),linspace(Start,stop, number of points), linspace(Start,stop, number of points));
p = [X(:), Y(:), Z(:)]

2 个评论

Why not use [X(:), Y(:), Z(:)] instead of the loop?
nice, good improvement, will edit.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by