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

1 Ansicht (letzte 30 Tage)
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!

Akzeptierte Antwort

David Hill
David Hill am 4 Mai 2020
x2=x1(1:3:length(x1),:);

Weitere Antworten (1)

Prasad Reddy
Prasad Reddy am 4 Mai 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

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by