Например, если [1,2,3,4,5,6] - вектор, то все возможные комбинации из 3 элементов за раз -
[1,2,3,4,5,6]
4 5 6 3 5 6 3 4 6 3 4 5 2 5 6 2 4 6 2 4 5 2 3 6 2 3 5 2 3 4 1 5 6 1 4 6 1 4 5 1 3 6 1 3 5 1 3 4 1 2 6 1 2 5 1 2 4 1 2 3
Как мне найти это в MATLAB?
Попробуйте ссылку .В основном вам просто нужно набрать c = combnk(1:6,3).Надеюсь, это поможет.
c = combnk(1:6,3)
Редактировать: Разница между тем, что я предложил, и @nash's combntns - это набор инструментов, в котором находятся команды. combnk находится в наборе инструментов статистики, а combntns находится вMapping Toolbox.
combntns
combnk
Я использую:
allCombos = nchoosek([1:n],k);
Я предпочитаю это, поскольку nchoosek поставляется с Matlab, набор инструментов не требуется.
nchoosek
>> combos = combntns([1 2 3 4 5 6], 3)
Выход:
1 2 3 1 2 4 1 2 5 1 2 6 1 3 4 1 3 5 1 3 6 1 4 5 1 4 6 1 5 6 2 3 4 2 3 5 2 3 6 2 4 5 2 4 6 2 5 6 3 4 5 3 4 6 3 5 6 4 5 6