MATLAB: How to extract all matrix elements for one index with dynamic number of dimenstions

indexingmatrix

Hello experts,
let A be
A = rand(4, 4, 4); %
so what I want is:
B = reshape(A(1,:,:), [4 4])
The problem is the unknown dimension of A. So if A has the dimension of 3, I need 2 colon operator; if 4 then 3 and so on…
I am very thankful for any ideas…
BR

Best Answer

ii = repmat({':'},1,ndims(A)-1);
out = squeeze(A(1,ii{:}));