# Merge all rows in a cell into one row

89 views (last 30 days)
Behzad Navidi on 10 Feb 2020
Edited: Turlough Hughes on 10 Feb 2020
Hey all, Here is my 40 x 32 cell.
I want to merge all 40 rows into one row. So in the output, I would like to have a 1 x 1280 cell. 1280 is 40 * 32.
I searched and tried to use
result = num2cell(NewC2LatLon,2);
But it gave me totally wrong answers.
Thank you all.

Turlough Hughes on 10 Feb 2020
Edited: Turlough Hughes on 10 Feb 2020
Similar to numeric arrays writting NewC2LatLon(:) returns all the all elements of the array in a single column. However, I think what you want is to take the second row and add it to the right of the first, and so on. You can do that as follows:
NewC2LatLon = NewC2LatLon.';
NewC2LatLon = NewC2LatLon(:).';

Turlough Hughes on 10 Feb 2020
For example:
>> a = reshape(1:9,3,3) % Sample array
a =
1 4 7
2 5 8
3 6 9
>> a = a.'
a =
1 2 3
4 5 6
7 8 9
>> a = a(:).'
a =
1 4 7 2 5 8 3 6 9
The result is you get the rows placed beside each other.
Behzad Navidi on 10 Feb 2020
Thank you.

R2018b

### Community Treasure Hunt

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

Start Hunting!