Вопрос:
Например, если [1,2,3,4,5,6] – вектор, тогда все возможные комбинации из 3 элементов за раз <
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). Надеюсь, что это поможет.
Изменить: разница между предложенными мной и @nash combntns – это панель инструментов, в которой находятся команды. combnk находится в панели инструментов статистики, а combntns – в панели инструментов отображения.
Ответ №1>> 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 Ответ №2
Я использую:
allCombos = nchoosek([1:n],k);
Я предпочитаю это, поскольку nchoosek поставляется с Matlab, не требуется никаких инструментов.