i have arrays of size 234X64X8, 234X64X8,234X64X8 and 234X64X8 inside a cell of size 4X1. i want it to be a shape of 936X256X32 as a 1X1 cell. how to do?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
2 Kommentare
Image Analyst
am 2 Nov. 2022
Please attach your cell array so we can try using repmat() to replicate your image into a 4x4 array.
Antworten (2)
Walter Roberson
am 2 Nov. 2022
Suppose you have
A = [1 2 3; 4 5 6]
B = [7 8 9; 10 11 12]
size(A), size(B)
What are the ways you can arrange them?
C1 = cat(1, A, B), size(C1)
C2 = cat(2, A, B), size(C2)
C3 = cat(3, A, B), size(C3)
So when you concatenate them together, the dimension you concatenate along becomes the sum of the input sizes in that dimension, and the remaining dimensions remain the length they were. Putting together two 2 x 3 arrays does not give you a 4 x 6 array -- at least not normally.
You can deliberately code concatenating them together repeatedly, using multiple copies of the input to produce something that is larger in each dimension -- but is that really what you want to do?
2 Kommentare
Walter Roberson
am 2 Nov. 2022
It is certainly possible to do, but we need you to confirm that it is acceptable that there will be 16 copies of each array.
big_array = cell2mat(repmat(hDp, 1, 4, 4) );
Maik
am 2 Nov. 2022
Bearbeitet: Maik
am 2 Nov. 2022
% Code for Cell Concatenation - Input Size(234x64x8)
Arr = ones(234,64,8);
cellArr = {Arr, Arr, Arr, Arr}';
% Concatenation Across Row Dimension - Size (934x64x8)
cellRowCat = cat(1,cellArr{:});
% Concatenation Across Column Dimension - Size (234x256x8)
cellColCat = cat(2,cellArr{:});
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!