How can I extract all matrix elements for one index with dynamic number of dimenstions?

1 view (last 30 days)
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

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 6 Apr 2017
ii = repmat({':'},1,ndims(A)-1);
out = squeeze(A(1,ii{:}));

More Answers (0)

Community Treasure Hunt

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

Start Hunting!