How to combine rows of cell array into corresponding single cell

35 Ansichten (letzte 30 Tage)
Maii
Maii am 26 Mär. 2020
Kommentiert: Maii am 26 Mär. 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!

Akzeptierte Antwort

Bhaskar R
Bhaskar R am 26 Mär. 2020
c = cellfun(@(x, y){x,y}, a,b,'UniformOutput',false)

Weitere Antworten (0)

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by