MATLAB: How to convert cell array to matrix

cell arrays

I have a cell array of size 1×16,how can I convert it to a matrix? I tried cell2mat but is always showing an error that size not consistent.Pls help asap

Best Answer

%A - data cell array
A = arrayfun(@(x)randi(10,randi(5,1,2)),1:6,'un',0);
%solution
[m,n] = cellfun(@size,A)
% horzcat
mm = max(m);
outhorz = cell2mat(arrayfun(@(x,y,z)[x{:};nan(mm - y,z)],A,m,n,'un',0))
% vertcat
nn = max(n);
outvert = cell2mat(arrayfun(@(x,y,z)[x{:},nan(y,nn - z)],A,m,n,'un',0)')