MATLAB Answers

How to combine rows of cell array into corresponding single cell

조회 수: 23(최근 30일)
Maii
Maii 2020년 3월 26일
댓글: Maii 2020년 3월 26일
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
Bhaskar R 2020년 3월 26일
c = cellfun(@(x, y){x,y}, a,b,'UniformOutput',false)

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by