闲聊之余,整理了几个常用的排列、组合与阶乘等函数。希望对大家有用!
1
、
combntns(x,m)
列举出从
n
个元素中取出
m
个元素的组合。
其中,
x
是含有
n
个元素的向量。
2
、
perms(x)
给出向量
x
的所有排列。
3
、
nchoosek(n,m)
从
n
各元素中取
m
个元素的所有组合数。
nchoosek(x,m)
从向量
x
中取
m
个元素的组合
4
、
factorial(n)
求
n
的阶乘。
5
、
prod(n:m) %
求排列数:
m*(m-1)*(m-
2)*…*(n+1)*n
prod(1:2:2n-1)
或
prod(2:2:2n) %
求
(2n-1)!!
或
(2n)!!
6
、
cumprod(n:m)
输出一个向量
[n n*(n+1) n(n+1)(n+2) … n(n+1)(n+2)…(m
-1)m]
7
、
gamma(n)
求
n!
8
、
v='n!';
vpa(v)
用
matlab
做排列组合
nchoosek
Binomial coefficient or all combinations
Syntax:
C = nchoosek(n,k)
函数描述
:
从
n
个元素中一次选
k
个元素的所有组合数
C
(注意,
C
是一个数值)。
C = n!/((n
–
k)! k!);
C = nchoosek(v,k)
函数描述
:
从向量
v
中一次选其中
k
个元素的所有组合
C
(注意:
C
是一个矩阵,列数为
k )
Description
C = nchoosek(n,k)
where n and k are nonnegative integers,