create a vector without for

2 visualizaciones (últimos 30 días)
vincent lin
vincent lin el 19 de En. de 2020
Comentada: Stephen23 el 19 de En. de 2020
The vector structure is like [a b c d e f g h i j]
a=1:10
b=1:10
...
j=1:5
vect=[]
I can use for a =1:10
for b=1:10
...
vect = [vect;a.b...j]
end
end
but it looks not elegant. Is there a better way to generate it?
  8 comentarios
vincent lin
vincent lin el 19 de En. de 2020
Thanks David. My question is a general question and no specific application. I can reduce it to [a b c d] for example.
a=1:10
b=1:10
c=1:3
d=1:5
Total array size is 10*10*3*5. So Yes, I'd like to have possible permutation. I can use for commands but it will need several for. If there're other more compact ways to generate these vectors, that would be good.
Stephen23
Stephen23 el 19 de En. de 2020
"I'd like to have possible permutation"
Then you should have asked about generating permutations: http://xyproblem.info/

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de En. de 2020
a=1:10;
b=1:10;
c=1:3;
d=1:5;
[A, B, C, D] = ndgrid(uint8(a), uint8(b), uint8(c), uint8(d)) ;
v = [A(:), B(:), C(:), D(:)] ;

Más respuestas (1)

Image Analyst
Image Analyst el 19 de En. de 2020
Try
a = 1 : 10
b = 1 : 10
...
j = 1 : 5
outputVector = [a, b, c, d, e, f, g, h, i, j]

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by