w = nchoose(s)返回0,1或更多的可能组合
设置s的元素,具有n个元素。有2 ^ n组合
总共。W是一个单元阵列,每个单元都包含其中一个
组合(作为一排矢量)。
s可以是单元阵列,并且W的每个单元将包含一个单元格
大批。W是S的Powerset,因为它包括空集(0
元素)作为第一细胞。
对于整数的向量I,W = nChoose(s,i)只返回集合
由索引表示I.这可能对大型集合有用。
例子:
NCHOOSE([2 4 6 8])
% - > {[];
%[2];
%[4];
% [2 4];
%[6];
%……
%[2 6 8];
%[4 6 8];
% [2 4 6 8]};在总共16种不同的组合中
NCHOOSE([33 22 11],[1 8 4])
% - > {[];[32 11];[33 11]}
笔记:
- 对于包含超过18个元素的组,给出了警告,如下所示
可能需要一些时间。点击Ctrl-C进行内容计算。
- 如果s含有非唯一元素(例如s = [1 1 2]),NCHOOSE会
返回非唯一单元格。换句话说,nchoose对待所有元素
■独特。可以使用nchoose(独特(s))来避免这种情况。
- 松散地说,NChoose(s)收集多个呼叫的所有输出
nchoosek(s,k),其中k从1循环到一个元素的数量
S. NChoose的实施确实依赖于不同的
方法,并且比这样的循环快得多。
- 有关详细信息,请参阅:http://en.wikipedia.org/wiki/power_set.
另见nchoosek,perms,
ermn,nchoose2,文件交换上的ALLCOMB
引用
JOS(10584)(2021)。nchoose.(//www.tianjin-qmedu.com/matlabcentral/fileexchange/20011-nchoose),Matlab中央文件交换。检索到。