how to convert 2D matrix to 1D

i want to convert 2D array with size 83*6580 to 1D array , any help ?

Answers (2)

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 Comments

The answer is perfect and working fine.
To make V as 1D array, transpose it.
V = V'; % 1x546140
"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
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.

Sign in to comment.

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)]);

2 Comments

I dig the matrix math here didnt even thing of doing it like this.
Simpler:
OneDArray = reshape(TwoDArray.',1,[]);

Sign in to comment.

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Asked:

on 13 Dec 2014

Edited:

on 2 Nov 2020

Community Treasure Hunt

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

Start Hunting!