Merging Cell Array Elements with cellstr
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I want to merge the elements of the cell array of 100x4. After this merge, it will become 100x1. To do this process, I am using
temp = string(reshape(cell_temp, [], 4));
merged= cellstr(temp(:,1) + temp(:,2) + temp(:,3) + temp(:,4))
Are there any other methods to merge them in shorter way? Because sometimes I want to merge 15 elements but I don't want to write them explicitly. Thank you.
2 件のコメント
採用された回答
Abhijit Nayak
2022 年 6 月 9 日
I understand you want to automate merging of columns for a given matrix by using ‘cellstr’ function. The following code would work for any number of columns.
Create an array and assign it to ‘cell_temp’ variable in the code.
cell_temp = ones(100,5);
[row col]=size(cell_temp);
temp= string(reshape(cell_temp,[],col));
merged="";
for i=1:col
merged=merged + temp(:,i);
end
merged=cellstr(merged);
disp(merged)
0 件のコメント
その他の回答 (1 件)
Simon Chan
2022 年 6 月 9 日
Try this:
merged = cellfun(@(x) cat(2,x{:}),num2cell(cell_temp,2),'UniformOutput',false)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Cell Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!