# How do I turn a nxm matrix into a single array?

19 visualizaciones (últimos 30 días)
Ahsan Khan el 17 de Oct. de 2012
hi Matlabers,
say I have a matrix
[1 2 3 4;5 6 7 8;9 10 11 12; 13 14 15 16]
how can I turn this matrix so all the rows are combined into one. one after the other.
result
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]?
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Sachin Ganjare el 17 de Oct. de 2012
Editada: Sachin Ganjare el 17 de Oct. de 2012
You can use reshape command:
a= [1 2 3 4;5 6 7 8;9 10 11 12; 13 14 15 16]
b = reshape(a,1,16)
or simply
b = a(:)'
Hope it helps!!!
##### 3 comentariosMostrar 1 comentario más antiguoOcultar 1 comentario más antiguo
Ahsan Khan el 17 de Oct. de 2012
thanks so much...just what i needed
Ahsan Khan el 17 de Oct. de 2012
thanks for all the help. but one last question, now say if I wanted to plot this in increments of 4. so it would plot columns 1:4 then i press enter and it plots 5:8... and so on. so it would look something like:
for i = 1:length(b)
plot(i,b(1:4)) % <<I KNOW THIS ISNT RIGHT...HOW DO I modify this..pls?
pause
end
am I even on the right track? thanks in advance

Iniciar sesión para comentar.

### Más respuestas (1)

manoj saini el 17 de Oct. de 2012
to exact answer >>b=reshape(a',1,16) because matlab always prefer coloum element so pass a'(a transpose) for your exact output
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Ahsan Khan el 17 de Oct. de 2012
thank you!!!:)

Iniciar sesión para comentar.

### Categorías

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

### Community Treasure Hunt

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

Start Hunting!

Translated by