Filter löschen
Filter löschen

Combinations of a vector with replacement

1 Ansicht (letzte 30 Tage)
klb
klb am 13 Nov. 2018
Kommentiert: klb am 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?

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 13 Nov. 2018
Bearbeitet: Bruno Luong am 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 Kommentare
Bruno Luong
Bruno Luong am 15 Nov. 2018
Bearbeitet: Bruno Luong am 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 am 15 Nov. 2018
thank you Bruno! I was able to modidy your code to genrate other combinations as well.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by