Subset multidimensional array using a vector

1 Ansicht (letzte 30 Tage)
Francisco Garrido
Francisco Garrido am 10 Sep. 2019
Bearbeitet: Matt J am 10 Sep. 2019
I have an array A of 7 dimensions, and a vector v of length 5.
I need to select a subset of A where the first five coordinates are the ones specified by V. I can accomplish this by:
A(v(1), v(2), v(3), v(4), v(5), :, :)
but it wont work if the length of v changes from one application to another. Is there any way straight forward way to go about this?
Thanks!!!

Antworten (1)

Matt J
Matt J am 10 Sep. 2019
Bearbeitet: Matt J am 10 Sep. 2019
idx=repmat({':'},1,ndims(A));
idx(1:numel(v))=num2cell(v);
result=A(idx{:});

Community Treasure Hunt

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

Start Hunting!

Translated by