nchoosek
二项式系数或所有组合
说明
示例
输入参数
n
— 可选项的数目
非负整数标量
可选项的数目,指定为非负整数标量。n
可以是任何数值类型,但必须为实数。
示例: 10
示例: int16(10)
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
k
— 选中项的数目
非负整数标量
选中项的数目,指定为非负整数标量。k
可以是任何数值类型,但必须为实数。nchoosek(n,k)
要求 n
和 k
为同一类型,或者其中至少一个是 double
类型。
nchoosek(v,k)
对于不同类型的合并输入没有限制。
示例: 3
示例: int16(3)
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
v
— 所有可选项的集合
向量
所有可选项的集合,指定为向量。
示例: [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
复数支持: 是
输出参量
b
— 二项式系数
非负标量值
二项式系数,以非负标量值的形式返回。b
与 n
和 k
的类型相同。如果 n
和 k
的类型不同,则 b
以非双精度类型形式返回。
C
— v
中的所有组合
矩阵
v
中的所有组合,以类型与 v
相同的矩阵形式返回。矩阵 C
有 k
列和 n!/((n–k)! k!) 行,其中 n 为 length(v)
。
C
的每一行包含从 v
中选取 k
项的一种组合。C
中每一行的元素顺序与其在 v
中的顺序相同。
如果 k > numel(v)
,则 C
是一个空矩阵。
局限性
当
b = nchoosek(n,k)
足够大时,nchoosek
会显示一个警告,指示结果可能不够准确。这种情况下,对双精度输入,结果只精确到 15 位,对单精度输入,精确到 8 位。C = nchoosek(v,k)
只适用于length(v)
小于15
的情况。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
当第一个输入
x
为标量时,nchoosek
返回二项式系数。在这种情况下,x
必须为非负整数。当第一个输入
x
为向量时,nchoosek
将它视为一个集合。对于大的单精度输出,结果可能与 MATLAB® 不完全匹配。
请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
另请参阅
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)