MATLAB中常用的排列、组合、阶乘函数
全文转自:https://www.cnblogs.com/awishfullyway/p/5870753.html
1、求n的阶乘,方法如下:
a、factorial(n)
b、gamma(n+1)
c、v=\’n!\’; vpa(v)
2、求组合(数),方法如下:
a、combntns(x,m) 列举出从n个元素中取出m个元素的组合。其中,x是含有n个元素的向量。
b、nchoosek(n,m) 从n各元素中取m个元素的所有组合数。
nchoosek(x,m) 从向量x中取m个元素的组合
3、求排列(数),方法如下:
a、perms(x) 给出向量x的所有排列。
b、prod(n:m) 求排列数:m*(m-1)*(m-2)*…*(n+1)*n
prod(1:2:2n-1) 求(2n-1)!!
prod(2:2:2n) 求(2n)!!
prod(A) 对矩阵A的各列求积
prod(A,dim) dim=1(默认);dim=2,对矩阵A的各行求积(等价于(prod(A\’))\’)
4、函数 cumprod() —-累积求积函数:
cumprod(n:m) 输出一个向量[n n*(n+1) n(n+1)(n+2) … n(n+1)(n+2)…(m-1)m]
cumprod(A) 若A为矩阵:输出同维数的矩阵,按列累积求积
cumprod(A,dim) A为矩阵,dim=1或2,dim=1,默认,与上面一样;dim=2,按行累积求积。