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 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
2 comentarios
Image Analyst
el 2 de Nov. de 2022
Please attach your cell array so we can try using repmat() to replicate your image into a 4x4 array.
Respuestas (2)
Walter Roberson
el 2 de Nov. de 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 comentarios
Walter Roberson
el 2 de Nov. de 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
el 2 de Nov. de 2022
Editada: Maik
el 2 de Nov. de 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 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!