如何在matlab中无需替换即可生成随机2D点

时间:2016-03-28 12:31:07

标签: matlab

假设我们可以按如下方式生成数字:

{{1}}

可以使用循环或if语句来查找重复点,但有没有更好的解决方案?

1 个答案:

答案 0 :(得分:0)

为此,我只需创建xy的所有排列,然后随机选择NP这些排列。

NP = 30;

% All permutations of X and Y
[xx,yy] = meshgrid(0:10, 0:10);

% Grab NP of these permutations
indices = randperm(numel(xx), NP);

% Construct P from just these permutations
P = [xx(indices); yy(indices)].';

只是为了验证它们实际上是独特的。

isequal(P, unique(P, 'rows', 'stable'))

    1