回 帖 发 新 帖 刷新版面

主题:matlab有没有求排列组合的函数?例如在1,2,3,4,5中选2个数,他们是什么样的?

[em4]

回复列表 (共2个回复)

沙发

我也遇到了同样的问题,查了半天没有发现有求组合的函数,好像,注意是好像没有这样的函数。只能用循环实现。不过有排列的函数perm和求组合数的函数nchoosek(n,m)

板凳

combntns(set,subset) 
在集合set中取subset个元素的所有组合 
例如:在[2 3 5 9 7]中取3个元素的所有组合为: 
combntns([2 3 5 9 7],3) 
运行结果: 
2 3 5 
2 3 9 
2 3 7 
2 5 9 
2 5 7 
2 9 7 
3 5 9 
3 5 7 
3 9 7 
5 9 7 

另外可以用命令perms得到排列,用法: 
perms(vector) 
给出向量vector的所有排列,例如 
perms([2 3 5]) 
运行结果: 
5 3 2 
5 2 3 
3 5 2 
3 2 5 
2 3 5 
2 5 3

我来回复

您尚未登录,请登录后再回复。点此登录或注册