Convert matrix in single column/row vector

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].

 Akzeptierte Antwort

Jos (10584)
Jos (10584) am 5 Nov. 2017

22 Stimmen

Take a look at reshape and transpose
A = [1 2 ; 3 4]
reshape(A,1,[])
transpose(A)
A.'
A(:)
reshape(A.',1,[])

Weitere Antworten (4)

M Shujah Islam Sameem
M Shujah Islam Sameem am 5 Jan. 2019

18 Stimmen

%%%% 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 Kommentare

Samaa Yasser
Samaa Yasser am 7 Apr. 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 am 7 Apr. 2021
'the same size', do you mean a vector length 256 or 65536? In the latter case, read the answer.

Melden Sie sich an, um zu kommentieren.

Muhammad Usman
Muhammad Usman am 23 Dez. 2019

9 Stimmen

A = [1 2; 3 4];
B = A(:) % convert the matrix into a column vector
C = A(:)' % convert the matrix into a row matrix

2 Kommentare

Paolo Mulazzani
Paolo Mulazzani am 8 Mär. 2020
not work: instead of 1 2 3 4 the result is 1 3 2 4
Muhammad Usman
Muhammad Usman am 9 Mär. 2020
A=[1 2; 3 4];
A=A';
A(:)

Melden Sie sich an, um zu kommentieren.

Fariha Tabassum
Fariha Tabassum am 6 Apr. 2020

8 Stimmen

A = [1 2; 3 4];
B = A';
C = reshape(B,1,[])
ans of C will be [1 2 3 4]

2 Kommentare

Yezi Kadhim
Yezi Kadhim am 9 Mai 2021
Exactly what I wanted!.
A million Thanks!
rishav baishya
rishav baishya am 26 Jan. 2022
thanks a lot

Melden Sie sich an, um zu kommentieren.

Çağatay Murat Yılmaz
Çağatay Murat Yılmaz am 4 Okt. 2020

1 Stimme

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 Kommentare

Rik
Rik am 4 Okt. 2020
Dynamically growing an array is very inefficient. You should consider transposing the array and using reshape.
Petr
Petr am 6 Sep. 2024
Technically possible, but generally the least effective solution in Matlab. I would consider this bad practice.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

am 5 Nov. 2017

Kommentiert:

am 6 Sep. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by