How to convert cell array to matrix

18 Ansichten (letzte 30 Tage)
Bashir
Bashir am 25 Apr. 2012
I have a cell array of size 1x16,how can I convert it to a matrix? I tried cell2mat but is always showing an error that size not consistent.Pls help asap

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 25 Apr. 2012
%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)')

Weitere Antworten (0)

Kategorien

Mehr zu Data Types finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by