# How to combine rows of cell array into corresponding single cell

44 views (last 30 days)
Maii on 26 Mar 2020
Commented: Maii on 26 Mar 2020
Hi!
I want to combine rows of a cell array into a single cell. Such that a cell array of dimension 5*4 comes as a cell array of 5*1 where each cell is a cell array of 1*4. I want to remove the for loop, since my cell matrices are huge.
For example:
a={123;'xyz';'abc';'asd';123};
b={'xyz';123;243;'zxy';123};
I can use the following for loop to get the result. But is it possible without a for loop?
for i=1:1:size(a,1)
c{i,1}={a(i) b(i)};
end
result c={{123, 'xyz'};{'xyz', 123};{'abc', 243};{'asd', 'zxy'};{123, 123}};
Thank you!

Bhaskar R on 26 Mar 2020
c = cellfun(@(x, y){x,y}, a,b,'UniformOutput',false)
Maii on 26 Mar 2020
Thank you!! it works well!

### Categories

Find more on Matrices and Arrays in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by