image thumbnail

nchoosek_enum

version 1.0.1 (1.88 KB) by Bruno Luong
nchoosek with enumerate selection. This function never build the full combination array in memory

3 Downloads

Updated 27 Apr 2021

View License

This function can be used ti process all subset of cardinal k of set of cardinal k without having them stored in the memory. Typical call would be as following

n = 10;
k = 3;
chunksize = 10;
i = 1:chunksize;
norepetition = false;
while true
if norepetition
c = nchoosek_enum(n, k, i);
else
c = nchoosek_enum(n+k-1, k, i);
c = c - (0:k-1);
end
for r=1:size(c,1)
cr = c(r,:);
endcomb = any(isnan(cr));
if endcomb
break
end
% do somthing with cr
fprintf('%s\n', mat2str(cr))
end
if endcomb
break
end
i = i + chunksize;
end

Cite As

Bruno Luong (2021). nchoosek_enum (https://www.mathworks.com/matlabcentral/fileexchange/91060-nchoosek_enum), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!