ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

nchoosek

二項係数、または、すべての組み合わせ

構文

  • b = nchoosek(n,k)
  • C = nchoosek(v,k)

説明

b = nchoosek(n,k) は次の式で定義される二項係数を返します: n!/((n–k)! k!)。これは、n 個の中から k 個を同時に取り出す組み合わせの数です。

C = nchoosek(v,k) は、ベクトル v の要素から k 個を同時に取り出すすべての可能な組み合わせの行列を返します。行列 Ck 列 n!/((n–k)! k!) 行です。ここで n は length(v) です。

すべて折りたたむ

b = nchoosek(5,4)
b =

     5

v = 2:2:10;
C = nchoosek(v,4)
C =

     2     4     6     8
     2     4     6    10
     2     4     8    10
     2     6     8    10
     4     6     8    10

v = uint16([10 20 30]);
C = nchoosek(v,uint16(2))
C =

     10     20
     10     30
     20     30

入力引数

すべて折りたたむ

可能な選択の数を、非負の実数である任意の数値型のスカラー値として指定します。

例: 10

例: int16(10)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

選択する数を、非負の実数であるスカラー値として指定します。k には任意の数値型を使用できます。ただし、nchoosek(n,k) では、nk が同じ型であるか、少なくとも一方が double 型であることが必要です。

nchoosek(v,k) は、異なる型の入力の組み合わせについて制限はありません。

例: 3

例: int16(3)

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

すべての選択肢の集合。数値、logical または char 値のベクトルとして指定します。

例: [1 2 3 4 5]

例: [1+1i 2+1i 3+1i 4+1i]

例: int16([1 2 3 4 5])

例: [true false true false]

例: ['abcd']

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
複素数のサポート: はい

出力引数

すべて折りたたむ

二項係数。非負のスカラー値として返されます。bn および k と同じ型です。nk の型が異なる場合、b は非 double 型として返されます。

v のすべての組み合わせ。v と同じ型の行列として返されます。行列 Ck 列 n!/((n–k)! k!) 行です。ここで n は length(v) です。

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

制限

  • b = nchoosek(n,k) が十分に大きい場合、nchoosek は結果が正確でない可能性があることを示す警告を表示します。この場合、結果は倍精度の入力に対して 15 桁、あるいは、単精度の入力に対して 8 桁しか正確ではありません。

  • C = nchoosek(v,k) は、length(v)15 未満の場合にのみ、実際に適用できます。

参考

R2006a より前に導入

この情報は役に立ちましたか?