Create a matrix with only the rows indexed by a multiple of N of another matrix.

1 view (last 30 days)
Hello everyone!
And I am trying to create a matrix, containing only the rows indexed by (1+3x) of a given matrix. In other words, the first row and then jump every 3 rows until the end of the original matrix
Concretely, I have something that looks like this:
x1 = randi([0, 10], [9,2])
x1 =
5 10
4 6
4 5
2 1
1 1
4 8
9 8
3 5
6 6
And I am trying to get this:
x2 =
5 10
2 1
9 8
Is there any straightforward way to do this?
Thanks!

Accepted Answer

David Hill
David Hill on 4 May 2020
x2=x1(1:3:length(x1),:);

More Answers (1)

Prasad Reddy
Prasad Reddy on 4 May 2020
clc
clear all
x1=randi([0,10],[9,2])
x2=[]
for i=1:3:length(x1)
x2=[x2; x1(i,:)]
end
% this will work

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!