Matlab中的排列与组合算法

matlab做排列组合:比如要ABCD的全排列(permutation),可以用perms函数    
perms(['ABC'])

运行结果    
CBA    
CAB    
BCA    
BAC    
ABC    
ACB

>> perms([1 2 3])

ans =

    3     2     1    
    3     1     2    
    2     3     1    
    2     1     3    
    1     2     3    
    1     3     2

 
以下是几个常用的排列、组合与阶乘等函数。    
1、combntns(x,m)      
列举出从n个元素中取出m个元素的组合。其中,x是含有n个元素的向量。    
2、perms(x)  
给出向量x的所有排列 (permutation)。    
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)

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空