How do you vertically concatenate the rows of a cell array consisting of vectors of numbers?
5 views (last 30 days)
Show older comments
I want to vertically concatenate the elements of a cell array so that, for example, an array that is 3 x 9 becomes 1 x 9. How do I do that? The following concatenates everything into one dimension, which isn't what I want:
vertcat(cellarray{:});
Accepted Answer
per isakson
on 30 Mar 2022
Example
m = magic(3);
m = [m,m,m];
cac = num2cell(m); % sample data
arrayfun( @(ix) vertcat(cac{:,ix}), [1:9], 'uni',false )
Is this what you look for?
More Answers (2)
Simon Chan
on 30 Mar 2022
Tru the following:
cellfun(@(x) cell2mat(x),num2cell(a,1),'uni',0)
2 Comments
Walter Roberson
on 30 Mar 2022
Output = arrayfun(@(ColIdx) vertcat(YourCell{:,ColIdx}), 1:size(YourCell,2), 'uniform', 0);
0 Comments
See Also
Categories
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!