how to convert 2D matrix to 1D

675 visualizzazioni (ultimi 30 giorni)
Anfal
Anfal il 13 Dic 2014
Modificato: AIJAZ BHAT il 2 Nov 2020
i want to convert 2D array with size 83*6580 to 1D array , any help ?

Risposte (2)

Star Strider
Star Strider il 13 Dic 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 Commenti
Stephen23
Stephen23 il 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
AIJAZ BHAT il 2 Nov 2020
Modificato: AIJAZ BHAT il 2 Nov 2020
Alright I also want to add a precaution here while using it, It operates in column wise concatenation.

Accedi per commentare.


अंबरीश प्रशांत चांदूरकर Ambarish Prashant Chandurkar
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 Commenti
Tyler David MacLean
Tyler David MacLean il 6 Ott 2020
I dig the matrix math here didnt even thing of doing it like this.
Stephen23
Stephen23 il 6 Ott 2020
Simpler:
OneDArray = reshape(TwoDArray.',1,[]);

Accedi per commentare.

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by