Arrange and merge cell data
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Isma_gp
am 14 Sep. 2016
Kommentiert: Walter Roberson
am 16 Sep. 2016
Hi,
I have a 3x3 cell as follows: [[1x40], [1x40], [1x40] ; [1x30], [1x30] ,[1x30] ; [1x50], [1x50] ,[1x50] ]
I would like to arrange the data, so that the final result is a 1x3 cell: [[3x40];[3x30];[3x50]]
I would like to do this without calling each cell specifically (in reality this is for a 20x20 cell)
Thanks
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 14 Sep. 2016
arrayfun(@(col) vertcat(YourCell{:,col}), 1:size(YourCell,2), 'Uniform', 0)
2 Kommentare
Walter Roberson
am 16 Sep. 2016
arrayfun(@(row) vertcat(YourCell{row,:}), (1:size(YourCell,1)).', 'Uniform', 0)
Weitere Antworten (1)
Stephen23
am 16 Sep. 2016
Bearbeitet: Stephen23
am 16 Sep. 2016
C = {...
rand(1,40),rand(1,40),rand(1,40);...
rand(1,30),rand(1,30),rand(1,30);...
rand(1,50),rand(1,50),rand(1,50)};
%
D = cellfun(@(c)vertcat(c{:}),num2cell(C,2),'UniformOutput',false);
and tested:
>> size(D{1})
ans =
3 40
>> size(D{2})
ans =
3 30
>> size(D{3})
ans =
3 50
0 Kommentare
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices 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!