how to convert cell array to a matrix?
Show older comments
I have a 5X4 matrix whose each element is a cell array. how to convert it to a simple matrix of elements.
5 Comments
Bhowmik.U
on 30 Jul 2018
try if this works
X=cell{5,4} %your cell Y=cell2mat(X) % your desired matrix
Stephen23
on 30 Jul 2018
@Zara Khan: what size would you expect the output to be? Would padding be acceptable to you? If so, with what value?
KSSV
on 30 Jul 2018
Attach data instead of image snippet..have a look on Cell2mat
Zara Khan
on 30 Jul 2018
Zara Khan
on 31 Jul 2018
Answers (1)
Jos (10584)
on 30 Jul 2018
A = {[1 2 3],[4 5],6 ; [11 12],13,[] ; 21, [22 23], [24 25]} % data
B = arrayfun(@(k) cat(2,A{k,:}),1:size(A,1),'un',0) % make row vectors
C = padcat(B{:}) % pad vectors with NaNs
My function PADCAT can be downloaded here: https://uk.mathworks.com/matlabcentral/fileexchange/22909-padcat-varargin
6 Comments
Jos (10584)
on 31 Jul 2018
use d instead of A to create B ... I am no sure if I understand your problem though ...
Zara Khan
on 31 Jul 2018
Jos (10584)
on 31 Jul 2018
At some point you will have a cell array with values, won't you? Then you can transform it as above.
Zara Khan
on 31 Jul 2018
Jos (10584)
on 1 Aug 2018
This is all rather vague ... Can you show us some code, showing where you get stuck?
Categories
Find more on Resizing and Reshaping Matrices 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!