MATLAB Answers

How to combine rows of cell array into corresponding single cell

19 ビュー (過去 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)
  1 件のコメント
Maii
Maii 2020 年 3 月 26 日
Thank you!! it works well!

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by