MATLAB中combntns、nchoosek、combnk引起的内存不足问题
(2013-09-05 20:09:16)
标签:
combntnsnchoosekcombnk内存不足it |
分类: Code |
在使用combntns、nchoosek、combnk函数中,当设置的n比较大的时候,返回的矩阵会过大,造成内存溢出问题,网上有种方法可以参考:
问题:我想取一个序列的任意组合,用combntns,在数目较小时,可以达到目的,但是数目变大时,就不行了,求助各位。
例如取1:5,里面3个数字的组合,很容易得到。
combntns(1:5,3) 就可以了
但是取1:100里面10个数字的组合,就不行了。
我的解决方案:如果你未必要取所有组合,可以从1:100中任取20个数,再取这20个数字里面10个数字的组合。
%matlab code:
rand('state',0);
temp1 = randperm(100);
temp2 = temp1(1:20);
combntns(temp2,10)
后一篇:adaboost学习(一)