catdim

Unconcatenate array and catenate along other dimension.
763 Downloads
Updated 20 Aug 2007

No License

OUT=CATDIM(DIMS,A)
with DIMS=[da1,da2;db1,db2;..] an array of size [n,2].
Unconcatenates array A along dimension da1 and concatenates along da2,
then db1 and so on.
At the end squeezes result to remove singelton dimensions.
Useful to reshape a multidimensional array to display it e.g. with imagesc.

Examples:

a=[1,2,3;4,5,6]; a=cat(3,a,a+10)
a(:,:,1) =
1 2 3
4 5 6
a(:,:,2) =
11 12 13
14 15 16

catdim([3,1],a)
ans =
1 2 3
4 5 6
11 12 13
14 15 16
catdim([3,2],a)
ans =
1 2 3 11 12 13
4 5 6 14 15 16

b=[1,2;,3,4]
b =
1 2
3 4
catdim([1,2],b)
ans =
1 2 3 4

c=cat(4,a,a+20)
c(:,:,1,1) =
1 2 3
4 5 6
c(:,:,2,1) =
11 12 13
14 15 16
c(:,:,1,2) =
21 22 23
24 25 26
c(:,:,2,2) =
31 32 33
34 35 36

catdim([3,2;4,1],c)
ans =
1 2 3 11 12 13
4 5 6 14 15 16
21 22 23 31 32 33

Cite As

Andreas Hoechner (2024). catdim (https://www.mathworks.com/matlabcentral/fileexchange/15990-catdim), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2006b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Creating and Concatenating Matrices in Help Center and MATLAB Answers
Acknowledgements

Inspired: reshapec: a pedestrian col-row reshaper

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0