Matlab常用的排列组合函数
(2013-12-29 10:35:52)
标签:
matlab数学编程 |
分类: Matlab编程 |
nchoosek
Binomial coefficient or all combinations
Syntax:
Description
C = nchoosek(n,k)
where n and k are nonnegative integers,
returns n!/((n–k)! k!).
This is the number of combinations of n things taken k at a
time.
C = nchoosek(v,k),
where v is a row vector of length n,
creates a matrix whose rows consist of all possible combinations
of the n elements of v taken k at
a time.
Matrix C contains n!/((n–k)! k!) rows and k columns.
Inputs n, k, and v support classes of float double and float single.
Examples:
The command nchoosek(2:2:10,4)
returns the even numbers from two to ten, taken four at a
time:
combntns
All possible combinations of set of values 从给定集合set中列出所有可能的subset个元素的组合
Syntax
combos =
combntns(set,subset)
Many combinatorial applications can make use of a vector
1:n for the input set to return
generalized, indexed combination subsets.
Description
The combntns function provides the combinatorial subsets of a set of numbers.
It is similar to the mathematical expression a choose b, except that instead of the number of such combinations,the actual combinations are returned.
In combinatorial counting, the ordering of the values is not significant.The numerical value of the mathematical statement a choose b is size(combos,1).
Examples
How can the numbers 1 to 5 be taken in sets of three (that is, whatis 5 choose 3)?
combos = combntns(1:5,3)
combos =
size(combos,1)
ans =
(注意事项):Note that if a value is repeated in the input vector, each occurrence is treated as independent:
combos = combntns([2 2 5],2)
combos =
RemarksThis is a recursive function.

加载中…