Creating a row vector of combinations?

1 Ansicht (letzte 30 Tage)
Ali Almakhmari
Ali Almakhmari am 24 Jan. 2023
Kommentiert: Dyuman Joshi am 27 Jan. 2023
I have a row vector that 1 by 4. And I know that the minimum and maximum values of the elements in this vector to be -15 and 15. How can I make a matrix that is N by 4 that contains all possible combinations of ALL values?
Let me given an example: min = -15, max = 15, so the result of the code should be a matrix that is N by 4 that will look something like this
A = [[-15,0,0,0];[-14,0,0,0];[-13,0,0,0];[-12,0,0,0];[-11,0,0,0];[-10,0,0,0];[-9,0,0,0];....and so on until the final value vector to be[15,15,15,15]];

Akzeptierte Antwort

Davide Masiello
Davide Masiello am 24 Jan. 2023
You could use nchoosek. The example below is from -3 to 3 for memory issues (you'll generate a humongous matrix). Just substitute -15:15 and the trick is done.
A = nchoosek(-3:3,4)
A = 35×4
-3 -2 -1 0 -3 -2 -1 1 -3 -2 -1 2 -3 -2 -1 3 -3 -2 0 1 -3 -2 0 2 -3 -2 0 3 -3 -2 1 2 -3 -2 1 3 -3 -2 2 3
  9 Kommentare
Ali Almakhmari
Ali Almakhmari am 25 Jan. 2023
Thank you all for your help. You have been amazing!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephen23
Stephen23 am 25 Jan. 2023
One simple aprpoach is to download this FEX submission:
but you will need plenty of memory:
V = -3:3
V = 1×7
-3 -2 -1 0 1 2 3
X = combinator(numel(V),4,'p','r');
M = V(X)
M = 2401×4
-3 -3 -3 -3 -3 -3 -3 -2 -3 -3 -3 -1 -3 -3 -3 0 -3 -3 -3 1 -3 -3 -3 2 -3 -3 -3 3 -3 -3 -2 -3 -3 -3 -2 -2 -3 -3 -2 -1
  7 Kommentare
Dyuman Joshi
Dyuman Joshi am 27 Jan. 2023
Okay, I'll try it. Thanks for replying.
"I downloaded it from FEX, uploaded it here, ran the code, then (out of respect for the submitter's license conditions) deleted the function before submitting my answer."
Fair enough.

Melden Sie sich an, um zu kommentieren.

Kategorien

Find more on Entering Commands in Help Center and File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by