Convert matrix in single column/row vector

917 Ansichten (letzte 30 Tage)
Ali Baig
Ali Baig am 5 Nov. 2017
Kommentiert: Petr am 6 Sep. 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].

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 5 Nov. 2017
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
%%%% 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
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
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
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 Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by