【发布时间】:2016-02-27 02:40:57
【问题描述】:
在 matlab 中创建 10x2 矩阵的最佳方法是什么,其中每个元素都是 1-5 之间的随机整数,因此该数组中只有唯一的元素对?我知道 randperm 可以给我随机的唯一数字,但我不确定是否可以使用 randperm 给唯一的对?我能想到的唯一其他方法是使用:
randi([1 5], 10, 2);
在使用 if 语句检查所有对是否唯一的循环中。 我想要的数据示例如下:
4 5
1 3
2 2
1 4
3 3
5 1
5 5
2 1
3 1
4 3
注意:元素的顺序无关紧要,例如,4, 5 和 5, 4 都有效。
【问题讨论】:
-
虽然这是一个奇怪的问题。如果您随机选择 1 到 5 之间的整数,则无法保证您将获得 10 个唯一的值对。保证它的唯一方法是您只使用
1-5作为输入整数。 -
是否允许
[1,2;2,1]? -
@Daniel 是的,他说元素的顺序无关紧要。
-
@excaza:但是如果订单无关紧要,我希望它是重复的并且不允许。