Arrays 从数组所有组合中随机选择一个元素
我用matlab代码随机选择了一个数组的元素。我从数组(1,64)中选择了8个元素。现在,我想创建所有的组合。示例数组=[1 2 3 4…64]我随机选择了8个元素new=[1 2 3 4 5 6 7 8]new=[1 2 3 4 5 6 7 9]。。。新的是所有的组合。如何创建所有组合?对于matlab代码假设顺序不重要(即,Arrays 从数组所有组合中随机选择一个元素,arrays,matlab,Arrays,Matlab,我用matlab代码随机选择了一个数组的元素。我从数组(1,64)中选择了8个元素。现在,我想创建所有的组合。示例数组=[1 2 3 4…64]我随机选择了8个元素new=[1 2 3 4 5 6 7 8]new=[1 2 3 4 5 6 7 9]。。。新的是所有的组合。如何创建所有组合?对于matlab代码假设顺序不重要(即,[1 2 3 4 5 6 7 8]不计算为不同的组合[1 2 3 4 5 6 8 7]),使用 但这可能需要很多时间和内存 比如说, >> combinati
[1 2 3 4 5 6 7 8]
不计算为不同的组合[1 2 3 4 5 6 8 7]),使用
但这可能需要很多时间和内存
比如说,
>> combinations = nchoosek(1:5,3)
给予
要随机生成这些组合中的一个,而不必事先计算所有组合:
combination = sort(randsample(1:64,8));
呃,呃,你是怎么随机选择这8个元素的,数组=[1 2 3…64];;msize=numel(数组);idx=randperm(msize);rndmarray=array(idx(1:8));final=sort(rndmarray)@SamB这就是随机选择8个元素的方式,感谢对这个问题感兴趣的人@Luis Mendo。我们可以用遗传算法来做到这一点吗。因为ı在matlab中有一个繁忙的站,它的组合=sort(randsample(1:64,8))@user3210485,所以我对遗传算法不是很感兴趣,sorry@user3210485欢迎
combinations =
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
combination = sort(randsample(1:64,8));