Convert matrix in single column/row vector

1.947 visualizaciones (últimos 30 días)
Ali Baig
Ali Baig el 5 de Nov. de 2017
Comentada: Petr Hosek el 6 de Sept. de 2024
Hi, I have to convert a matrix in one column/row vector composed of all the rows of the original matrix. How can I do this? Thanks. For example, to convert [1 2; 3 4] in to [1 2 3 4].

Respuesta aceptada

Jos (10584)
Jos (10584) el 5 de Nov. de 2017
Take a look at reshape and transpose
A = [1 2 ; 3 4]
reshape(A,1,[])
transpose(A)
A.'
A(:)
reshape(A.',1,[])

Más respuestas (4)

M Shujah Islam Sameem
M Shujah Islam Sameem el 5 de En. de 2019
%%%% Converting Matix to vector
A = [1 2 3; 4 5 6; 7 8 9] % Example matrix
reshape(A,[],1) % convert matrix to column vector
reshape(A,1,[]) % convert matrix to row vector
  2 comentarios
Samaa Yasser
Samaa Yasser el 7 de Abr. de 2021
@M Shujah Islam Sameem excuse me ,, i want to convert image matrix size 256x256 to row vector with length same size can you please help me ?
Rik
Rik el 7 de Abr. de 2021
'the same size', do you mean a vector length 256 or 65536? In the latter case, read the answer.

Iniciar sesión para comentar.


Muhammad Usman
Muhammad Usman el 23 de Dic. de 2019
A = [1 2; 3 4];
B = A(:) % convert the matrix into a column vector
C = A(:)' % convert the matrix into a row matrix
  2 comentarios
Paolo Mulazzani
Paolo Mulazzani el 8 de Mzo. de 2020
not work: instead of 1 2 3 4 the result is 1 3 2 4
Muhammad Usman
Muhammad Usman el 9 de Mzo. de 2020
A=[1 2; 3 4];
A=A';
A(:)

Iniciar sesión para comentar.


Fariha Tabassum
Fariha Tabassum el 6 de Abr. de 2020
A = [1 2; 3 4];
B = A';
C = reshape(B,1,[])
ans of C will be [1 2 3 4]
  2 comentarios
Yezi Kadhim
Yezi Kadhim el 9 de Mayo de 2021
Exactly what I wanted!.
A million Thanks!
rishav baishya
rishav baishya el 26 de En. de 2022
thanks a lot

Iniciar sesión para comentar.


Çağatay Murat Yılmaz
Çağatay Murat Yılmaz el 4 de Oct. de 2020
You can convert the following matrix to a vector using the following code.
input matrix:
0 1 0 2 3
4 5 6 7 8
9 10 11 12 13
output vector:
0 1 0 2 3 4 5 6 7 8 9 10 11 12 13
code:
vector=[];
for i=1:size(matrix,1)
vector=[vector matrix(i,:)];
end
  2 comentarios
Rik
Rik el 4 de Oct. de 2020
Dynamically growing an array is very inefficient. You should consider transposing the array and using reshape.
Petr Hosek
Petr Hosek el 6 de Sept. de 2024
Technically possible, but generally the least effective solution in Matlab. I would consider this bad practice.

Iniciar sesión para comentar.

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by