How to select desired row

3 views (last 30 days)
Setiadi Suriana
Setiadi Suriana on 25 Apr 2019
Commented: Setiadi Suriana on 26 Apr 2019
I have a workspace A with value 81536x10 double. I want to take create new workspace from workspace A with row 1 to 112, 225 to 336, 449 to 560 and so on.

Accepted Answer

Jos (10584)
Jos (10584) on 25 Apr 2019
ix = [0:224:81563]' + 1:112 ; % calculate row indices
ix(ix>size(A,1)) = [] % remove row indices that are too larger
A2 = A(ix, :) % a single array
Alternatively, you can store each section in a cell array
A3 = arrayfun(@(k) A(k:k+111, :), 1:224:81563, 'un', 0) % no check of indices
  5 Comments
Jos (10584)
Jos (10584) on 25 Apr 2019
Oh, this might be related to your version of ML.
A = randi(100,6,2)
ix = bsxfun(@plus,[0:1]', 1:4:size(A,1))
A(ix,:)
should return rows 1-2 and rows 5-6 of A
Setiadi Suriana
Setiadi Suriana on 26 Apr 2019
Thank you, now it is working

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!