hi i have 1x36 cell,each cell contains 2x2 cell, how to convert it into 4x36 double in matlab
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
kaavya subramani
am 22 Nov. 2016
Kommentiert: kaavya subramani
am 22 Nov. 2016
plz help me
0 Kommentare
Akzeptierte Antwort
Guillaume
am 22 Nov. 2016
cell2mat(cellfun(@(c) reshape(cell2mat(c),[], 1), yourcellarray, 'UniformOutput', false))
cell2mat(cellfun(@(m) reshape(cellfun(@(quadrant) max(quadrant(:)), ... max of a quadrant
mat2cell(m, ... convert matrix in cell into cell of 4 quadrant
[ceil(size(m, 1)/2), floor(size(m, 1)/2)], ...
[ceil(size(m, 2)/2), floor(size(m, 2)/2)])), ...
[], 1), ... reshape maxs of quadrant into column vector
yourcellarray, 'UniformOutput', false)) %process each cell
Weitere Antworten (1)
KSSV
am 22 Nov. 2016
clc; clear all ;
A = cell(1,36) ;
for i = 1:36
A{i} = cell(2) ;
A{i}{1,1} = rand(2) ;
A{i}{1,2} = rand(2) ;
A{i}{2,1} = rand(2) ;
A{i}{2,2} = rand(2) ;
end
%
B = cell(1,36) ;
for i = 1:36
B{i} = cell2mat(A{1}) ;
end
or
iwant = cellfun(@cell2mat,A,'un',0);
Siehe auch
Kategorien
Mehr zu Data Type Conversion 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!