# how to convert 2D matrix to 1D

815 views (last 30 days)
Anfal on 13 Dec 2014
Edited: AIJAZ BHAT on 2 Nov 2020
i want to convert 2D array with size 83*6580 to 1D array , any help ?

Star Strider on 13 Dec 2014
If you just want to make a vector out of it, use the ‘(:)’ notation:
A = rand(83,6580);
V = A(:);
‘V’ is a (546140x1) double.
##### 3 CommentsShow 1 older commentHide 1 older comment
Stephen23 on 14 Feb 2018
"To make V as 1D array"
Unlike some languages MATLAB does not have any concept of 1D arrays: all arrays have atleast 2 explicit dimensions and infinite implicit trailing singleton dimensions. Because the first dimension is the row dimension the most "basic" kind of vector is actually a column vector.
AIJAZ BHAT on 2 Nov 2020
Edited: AIJAZ BHAT on 2 Nov 2020
Alright I also want to add a precaution here while using it, It operates in column wise concatenation.

To Convert a 2D Matrix into a 1D Array( i.e a row vector), such that row vector is formed by concatenating consecutive rows of the 2D Matrix, use the following Code :
OneDArray = reshape(TwoDArray',[1 size(TwoDArray,1)*size(TwoDArray,2)]);
Tyler David MacLean on 6 Oct 2020
I dig the matrix math here didnt even thing of doing it like this.
Stephen23 on 6 Oct 2020
Simpler:
OneDArray = reshape(TwoDArray.',1,[]);