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

1 vue (au cours des 30 derniers jours)
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!

Réponse acceptée

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

Plus de réponses (1)

Prasad Reddy
Prasad Reddy le 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

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by