Generate a N length vector from a M length list (permutation)

I have want to generate a 5-element vector:
A = [a1, a2, a3, a4, a5]
such that each element (a1...a5) could take on one of the three values [1, 2, 3];
There should be 3^5 number of outputs.
It should be easy but i have been trying for the last 90 minutes and got no luck.

4 Comments

"...such that each element (a1...a5) could take on one of the three values [1, 2, 3]"
"Just to clarify. [1, 2, 3, 4, 5] and [1, 2, 3, 5, 4] should be two separate outputs"
Your examples include values that are not in the list of values that you want. Confusing.
Is 5 permitted (as per your example) or not (as per your explanation) ?
Sorry about the confusion. I fixed my statement.
I guess what I'm trying to say is that this should be permutation instead of combination (sequence matters).
The key here is that the number of outputs should be 3^5. [1, 1, 1, 1, 2] and [1, 1, 1, 2, 1] should be two different outputs.
Neither 5 nor 4 is permitted.
You still haven’t answered Stephen’s last question.
No. [1, 1, 1, 1, 2] and [1, 1, 1, 1, 2] should not be two different outputs. However [1, 1, 1, 1, 2] and [1, 1, 1, 2, 1] should.

Sign in to comment.

Asked:

on 2 Sep 2019

Commented:

on 2 Sep 2019

Community Treasure Hunt

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

Start Hunting!