加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

MATLAB中combntns、nchoosek、combnk引起的内存不足问题

(2013-09-05 20:09:16)
标签:

combntns

nchoosek

combnk

内存不足

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)


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有