我试图使用Matlab的randperm
和调用randperm = 5
生成1和5之间的随机数。在Matlab中有序的随机数
每次这给我一个不同的阵列,让我们说,例如:
x = randperm(5)
x = [3 2 4 1 5]
我需要的矢量将被布置成使得4和5是总是彼此相邻和2始终是1和3之间...例如[3 2 1 4 5]
或[4 5 1 2 3]
。
所以基本上我有两个不同长度的“块” - 1 2 3
和4 5
。块的顺序不是那么重要,只是4 & 5月底在一起和2合1和3之间
[1 2 3 4 5]
[3 2 1 4 5]
[4 5 1 2 3]
[4 5 3 2 1]
有谁知道我可以做这个?
由于
使用'randperm'两个块和一个'randperm(2)'如何索引他们。 – Adriaan
由于您的可能组合数量非常有限,因此请从这些数组中创建一个数组,然后使用'randi'从中随机选取一行。 –
它总是必须是'4 5'吗?没有可能的组合显示'5 4'。 – beaker