How do you get all pairs without double counting?

4 vues (au cours des 30 derniers jours)
L'O.G.
L'O.G. le 16 Juil 2022
Réponse apportée : Voss le 16 Juil 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?

Réponses (1)

Voss
Voss le 16 Juil 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

Catégories

En savoir plus sur MATLAB Compiler dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by