how to convert 2D matrix to 1D

687 次查看(过去 30 天)
Anfal
Anfal 2014-12-13
编辑: AIJAZ BHAT 2020-11-2
i want to convert 2D array with size 83*6580 to 1D array , any help ?

回答(2 个)

Star Strider
Star Strider 2014-12-13
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 个评论
Stephen23
Stephen23 2018-2-14
"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 2020-11-2
编辑:AIJAZ BHAT 2020-11-2
Alright I also want to add a precaution here while using it, It operates in column wise concatenation.

请先登录,再进行评论。


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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by