Effacer les filtres
Effacer les filtres

Combinations of a vector with replacement

1 vue (au cours des 30 derniers jours)
klb
klb le 13 Nov 2018
Commenté : klb le 15 Nov 2018
Hello everyone. A = [2 3 4]. I am trying to generate these 2 combinations:
  1. 22, 23 ,24 ,32 ,33 ,34, 42 ,43 ,44 (order matters so 23 not equal to 32 so nchoosek(A,2) does not work)
  2. 222, 233, 232, 234, 243, 333, 322, 323, 344, 343 , 324,342, 422, 424, 433 ,434 , 432, 423, 444. perms(A) does not do the job here because it is without replacement.
how can I do these?

Réponse acceptée

Bruno Luong
Bruno Luong le 13 Nov 2018
Modifié(e) : Bruno Luong le 13 Nov 2018
A = [2 3 4]
[A1,A2] = ndgrid(A);
arrayfun(@(k) polyval([A2(k),A1(k)],10), 1:numel(A1))
[A1,A2,A3] = ndgrid(A);
arrayfun(@(k) polyval([A3(k),A2(k),A1(k)],10), 1:numel(A1))
  3 commentaires
Bruno Luong
Bruno Luong le 15 Nov 2018
Modifié(e) : Bruno Luong le 15 Nov 2018
Keep telling you guys of putting more care on your question.
If you want a space then put a space.[2 2 3] is not 223.
A = [2 3 4]
[A1,A2,A3] = ndgrid(A);
[A3(:),A2(:),A1(:)]
klb
klb le 15 Nov 2018
thank you Bruno! I was able to modidy your code to genrate other combinations as well.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Numeric Types 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!

Translated by