Picking elements from a set

Gives all possibilities of picking k elements from a set of N with/without order/repetition.
3.4K Downloads
Updated 23 Oct 2006

No License

s = pick(V,k,Type)

Gives all possibilities of picking k elements from the set V with or without order and repetition.
V can be an array of any size and any type.
Type can have the following values: '', 'o', 'r', 'or'. 'o' means pick ordered list, 'r' means replace elements after picking.

s is an array with all picks, one per row.

Examples:

>> pick(0:1, 4, 'or')
ans =
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
...

>> pick('abcd', 2, '')
ans =
ab
ac
ad
bc
bd
cd

>> pick(1:3,3,'o')
ans =
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1

Cite As

Stefan Stoll (2024). Picking elements from a set (https://www.mathworks.com/matlabcentral/fileexchange/12724-picking-elements-from-a-set), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Data Distribution Plots in Help Center and MATLAB Answers
Acknowledgements

Inspired: VChooseK, VChooseKR, VChooseKO

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0