combnk

Перечисление комбинаций

Синтаксис

Описание

пример

C = combnk(v,k) возвращает матрицу, содержащую все возможные комбинации элементов векторного v взятый k за один раз. Матричный C имеет k столбцы и n!/((n – k)! k!) строки, где n количество наблюдений в v.

Примеры

свернуть все

Создайте символьный массив каждого четырех сочетаний букв символов в слове 'tendril'.

C = combnk('tendril',4);

C 35 4 символьный массив.

Отобразите последние пять комбинаций в списке.

last5 = C(31:35,:)
last5 = 5x4 char array
    'tedr'
    'tenl'
    'teni'
    'tenr'
    'tend'

Перечислите все комбинации 2D номера чисел один - четыре.

C = combnk(1:4,2)
C = 6×2

     3     4
     2     4
     2     3
     1     4
     1     3
     1     2

Поскольку 1:4 вектор, удваивается, C матрица, удваивается.

Входные параметры

свернуть все

Набор всех элементов в виде вектора.

Пример: [1 2 3 4 5]

Пример: 'abcd'

Типы данных: single | double | logical | char

Число элементов, чтобы выбрать в виде неотрицательного целочисленного скаляра. k может быть любой числовой тип, но должен быть действительным.

Нет никаких ограничений на объединяющиеся входные параметры различных типов для combnk(v,k).

Пример 3

Типы данных: single | double

Выходные аргументы

свернуть все

Все комбинации v, возвращенный как матрица того же типа как vC имеет k столбцы и n!/((n – k)! k!) строки, где n количество наблюдений в v.

Каждая строка C содержит комбинацию k элементы выбраны из v. Элементы в каждой строке C перечислены в том же порядке, как они появляются в v.

Если k больше, чем n, затем C пустая матрица.

Ограничения

combnk практично только для ситуаций где v имеет меньше чем 15 наблюдений.

Альтернативная функциональность

MATLAB® содержит функциональный nchoosek, который может также возвратить все комбинации вектора элемента и расширил функциональность с помощью MATLAB Coder™. nchoosek быстрее, чем combnk.

Смотрите также

| |

Представлено до R2006a