I have a matrix A that can be either 3D, 4D, 5D etc. I want to repeat the elements of the last dimension x times. This can be accomplished by using the following expressions: repelem(A,1,1,x) for 3D and repelem(A,1,1,1,x) for 4D matrices. However, since I do not know the number of matrix dimensions in advance, these expressions do not help me. Ideally, I would like to use repelem like repmat e.g. repelem(A,[1,1,x]) for 3D and repelem(A,[1,1,1,x]) for 4D matrices. However these expressions are not valid. I know I can do this combining reshape and repmat but I would like to know if there is a more compact way since there is a repelem function (I would also like to avoid using eval). Any ideas?