Borrar filtros
Borrar filtros

If A is a matrix, A(:) produces the columns in a vector. Is there a parallel function for rows?

116 visualizaciones (últimos 30 días)
A=[1,2,3;4,5,6;7,8,9]. Then A(:) returns [1;2;3;4;5;6;7;8;9]. Is there an operator that will produce [1,2,3,4,5,6,7,8,9]?

Respuestas (1)

James Tursa
James Tursa el 26 de Ag. de 2016
Editada: James Tursa el 26 de Ag. de 2016
First, I assume your example result is a typo, since A(:) will return the elements in column order, not row order. E.g.,
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> A(:)
ans =
1
4
7
2
5
8
3
6
9
To get them out in row order, transpose A first. E.g.
>> A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> reshape(A',[],1)
ans =
1
2
3
4
5
6
7
8
9
  2 comentarios
Rajmohan
Rajmohan el 26 de Ag. de 2016
Both return [1,4,7,2,5,8,3,6,9] instead of [1,2,3,4,5,6,7,8,9]
James Tursa
James Tursa el 26 de Ag. de 2016
Editada: James Tursa el 26 de Ag. de 2016
Ummm ... that was a direct copy from my MATLAB command window, and the order is clearly 1,2,3,4,5,6,7,8,9 as shown. If you want the result as a row instead of a column, then simply:
reshape(A',1,[])

Iniciar sesión para comentar.

Categorías

Más información sobre Logical 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