有一个替代nchoosek太慢?

7视图(30天)
尝试cnk = nchoosek(40, 10),您将看到如何缓慢。有另一个吗?
谢谢

接受的答案

dpb
dpb 2018年7月29日
编辑:dpb 2018年7月29日
好吧,你问了40 ! / (10 !30)元素- - >
> > N = prod(31:40) /阶乘(10)
N =
847660528
> >
元素,所以不是特别令人惊讶的可能只是需要一段时间文士把他们都写下来……
最终归结
函数P =库姆斯(v,米)
n =长度(v);
P = [];
如果m < n & & m > 1
k = 1: n - m + 1
Q =库姆斯(v (k + 1: n), m - 1);
P = [P;[v的(大小(Q, 1), 1), k)问]];% #好吧
结束
结束
结束
在时间的一个大问题吗 P 不是预先分配。
齿顶高
不幸的是, combnk 有相同的使用几乎相同的相同的代码缺陷。
是否有人在FEX墨西哥人提供的文件或其他解决方案我没研究。
2的评论
dpb
dpb 2018年7月29日
是的,我的意思是组合,而不是元素。

登录置评。

答案(1)

安迪
安迪 2018年8月3日
如果某种(内存?)压缩应用…如果这是可能。但看着残酷的回归表示nchoosek(25、15)——可能是一个有潜力的标记的重复模式,如果是有意义的。
谢谢

类别

找到更多的在调整和重塑矩阵帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!