Main Content

combnk

(非推奨) 組み合わせの列挙

関数 combnk は推奨されません。代わりに、MATLAB® 関数 nchoosek を使用してください。詳細は、互換性の考慮事項を参照してください。

説明

C = combnk(v,k) は、ベクトル v から一度に k 個の要素を取り、その可能な組み合わせをすべて含む行列を返します。行列 C は、k 個の列と n!/((n – k)! k!) 個の行をもちます。ここで、nv に含まれる観測値の数です。

すべて折りたたむ

'tendril' という単語に含まれる 4 つの文字のすべての組み合わせから成る文字配列を作成します。

C = combnk('tendril',4);

C は、35 行 4 列の文字配列です。

リストの最後の 5 つの組み合わせを表示します。

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

1 ~ 4 の数字から抽出した 2 つの数字から成るすべての組み合わせをリストします。

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

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

1:4 は double のベクトルであるため、C は double の行列になります。

入力引数

すべて折りたたむ

すべての要素の集合。ベクトルとして指定します。

例: [1 2 3 4 5]

例: 'abcd'

データ型: single | double | logical | char

選択する要素の数。非負の整数スカラーとして指定します。k は任意の数値型を指定できますが、実数でなければなりません。

combnk(v,k) では異なる型の入力を組み合わせることができます。

例: 3

データ型: single | double

出力引数

すべて折りたたむ

v のすべての組み合わせ。v と同じ型の行列として返されます。C は、k 個の列と n!/((n – k)! k!) 個の行をもちます。ここで、nv に含まれる観測値の数です。

C の各行には、v から選択された k 項目の組み合わせが格納されます。C の各行の要素は、v 内の出現順と同じ順序でリストされます。

kn より大きい場合、C は空の行列になります。

制限

combnk は、v に含まれる観測値が 15 個未満の場合に限り実用的です。

バージョン履歴

R2006a より前に導入

すべて折りたたむ

R2020b: combnk は非推奨

関数 combnk は推奨されません。代わりに、MATLAB 関数 nchoosek を使用してください。combnk が削除される予定はありません。

コードを更新するには、関数名 combnk のインスタンスを nchoosek に変更します。入力引数を変更する必要はありません。たとえば、C = nchoosek(v,k) を使用します。出力 C には、ベクトル v から一度に k 個の要素を取る場合の、可能な組み合わせがすべて含まれます。nchoosek から出力された C の順序は、combnk の出力と異なる可能性があることに注意してください。

関数 nchoosek には、関数 combnk と比べて利点がいくつかあります。

  • 最初の入力引数がスカラー値の場合、nchoosek は二項係数も返します。

  • nchoosek では、MATLAB Coder™ を使用して機能が拡張されています。

  • nchoosekcombnk より高速です。