Get n numbers from a list
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
loukas
le 17 Avr 2022
Réponse apportée : Dyuman Joshi
le 17 Avr 2022
I know there is a function nchoosek, however is there any way to do this without using this particular command since we aren't allowed to use it yet?
For example, [1,2,3,4] and we need to take 3 numbers at time. The results should be [1 2 3] [1 2 4] [1 3 4] [2 3 4]
0 commentaires
Réponse acceptée
Dyuman Joshi
le 17 Avr 2022
Binary approach (however, it might get slow for large numbers of element in x)
%vectorized method of this approach might be a little faster
x=[1 2 3 4];
y=[];
for i=1:2^numel(x)-1
if nnz(dec2bin(i,numel(x))=='1')==3
y=[x(dec2bin(i,numel(x))=='1'); y];
end
end
y
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!