Cody

Problem 1896. Index one element in each vector of an array along a given dimension

Solution 1607313

Submitted on 12 Aug 2018 by HH
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
for a = 1:30 ndms = ceil(rand(1) * 5) + 1 sz = 1 + ceil(rand(1, ndms) * 10); A = rand(sz); sz1 = sz(1); sz(1) = 1; I = ceil(rand(sz) * sz1); B = reshape(A(I(:)+(0:sz1:numel(A)-1)'), size(I)); p = randperm(ndms); A = permute(A, p); I = permute(I, p); B = permute(B, p); assert(isequal(dimsel(A, I), B)); end

ndms = 6 index = 1×6 cell array {[1]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[1]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[2]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[3]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[4]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[5]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[6]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[7]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[2]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[3]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[4]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[5]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[6]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[7]} {[8]} {[1]} {[1]} {[1]} {[1]} index = 1×6 cell array {[1]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[1]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[2]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[3]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[4]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[5]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[6]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[7]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[2]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[3]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[4]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[5]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[6]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[7]} {[8]} {[1]} {[2]} {[1]} {[1]} index = 1×6 cell array {[1]} {[1]} {[1]} {[3]} {[1]} {[1]} index = 1×6 cell array {[2]} {[1]} {[1]} {[3]} {[1]} {[1]} index = 1×6 cell array {[3]} {[1]} {[1]} {[3]} {[1]} {[1]} index = 1×6 cell array {[4]} {[1]} {[1]} {[3]} {[1]} {[1]} index = 1×6 cell array {[5]} {[1]} {[1]} {[3]} {[1]} {[1]} index = 1×6 cell array {[6]} {[1]} {[1]} {[3]} {[1]} {[1]} index = 1×6 cell array {[7]} {[1]} {[1]} {[3]} {[1]...

Suggested Problems

Community Treasure Hunt

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

Start Hunting!