convert cell to array
5 views (last 30 days)
Show older comments
I have
A={[1;95;110],[58;78;80;110;111;112],[58;59;79;110;112;113],[64;83;84;85;90;112;113],[112],[0],[0],[116]};
C = cellfun(@(x)x(x~=0),A,'uni',false);
I want to conver this cell to array, result should be:
result=[1;95;110;58;78;80;110;111;112;58;59;79;110;112;113;64;83;84;85;90;112;113;112;116]
I tried to use cell2mat(A) but have this error
Error using cat
Dimensions of arrays being concatenated are not consistent.
Error in cell2mat (line 75)
m{n} = cat(2,c{n,:});
0 Comments
Accepted Answer
Andrei Bobrov
on 15 Feb 2019
out = cat(1,A{:});
out = out(out ~= 0);
2 Comments
VBBV
on 2 Feb 2023
A={[1;95;110],[58;78;80;110;111;112],[58;59;79;110;112;113],[64;83;84;85;90;112;113],[112],[0],[0],[116]}
B = A{:} % why do i get only the first element of cell array ?
B = A(:) % this does not have problem
why does the parenthetical referencing with { : } return only the first element of cell array ? but it does not occur with ( : )
More Answers (0)
See Also
Categories
Find more on Cell Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!