# reshape, remove 16 elements, keep 1000*8, remove ..

1 view (last 30 days)
T on 25 Apr 2017
Answered: Guillaume on 25 Apr 2017
Can I solve this without a loop?/What is the fastest way? I have a long vector consisting of [16Elements 1000*8Elements 16Elements 1000*8Elements ...] With a total of N repetitions. The 16 Elements I want to remove. The remainder I would like to reshape into a matrix of size 1000xNx8 Thanks!
##### 0 CommentsShow -1 older commentsHide -1 older comments

Sign in to comment.

### Answers (1)

Guillaume on 25 Apr 2017
reshape into 16+1000*8 x N matrix, get rid of the first 16 rows, then reshape again. Finally a permute if you want N to be the second dimension.
tocrop = reshape(yourvector, 16+1000*8, []);
out = permute(reshape(tocrop(17:end, :), 1000, 8, []), [1 3 2])
##### 0 CommentsShow -1 older commentsHide -1 older comments

Sign in to comment.

### Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!