How do you get all pairs without double counting?

4 views (last 30 days)
L'O.G.
L'O.G. on 16 Jul 2022
Answered: Voss on 16 Jul 2022
Given, say, 10 numbers, how do you get all possible pairs between the numbers without double counting? Order doesn't matter, so 1-3 is the same as 3-1. How would you do this with for loops vs. vectorized? Is there a difference in performance between the two?

Answers (1)

Voss
Voss on 16 Jul 2022
Here's one way:
ten_numbers = 1:10;
all_pairs = nchoosek(ten_numbers,2);
disp(all_pairs);
1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 3 4 3 5 3 6 3 7 3 8 3 9 3 10 4 5 4 6 4 7 4 8 4 9 4 10 5 6 5 7 5 8 5 9 5 10 6 7 6 8 6 9 6 10 7 8 7 9 7 10 8 9 8 10 9 10

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!