Could anyone help me how to extract different specific number of rows in a matrix.

2 vues (au cours des 30 derniers jours)
jaah navi
jaah navi le 25 Juin 2021
Commenté : Walter Roberson le 25 Juin 2021
I am a matrix of size A= rand(100,1)
I want to generate matrix by extracting 2 rows in interval of 5.
B=A([1:2,6:7,11:12,16:17,........,96:97],:).
Could anyone help me to write in the simplified form to execute in matlab.

Réponses (2)

Walter Roberson
Walter Roberson le 25 Juin 2021
row_idx = reshape((1:5:100) + [0;1],1,[])
row_idx = 1×40
1 2 6 7 11 12 16 17 21 22 26 27 31 32 36 37 41 42 46 47 51 52 56 57 61 62 66 67 71 72
  3 commentaires
Walter Roberson
Walter Roberson le 25 Juin 2021
?? row_idx is already a separate matrix. You take it and
B = A(row_idx,:);
Walter Roberson
Walter Roberson le 25 Juin 2021
For 2, 3, 4 of each group of 5,
row_idx = reshape((1:5:100) + [1;2;3],1,[])

Connectez-vous pour commenter.


Scott MacKenzie
Scott MacKenzie le 25 Juin 2021
B = A(sort([1:5:100 2:5:100]))
  2 commentaires
jaah navi
jaah navi le 25 Juin 2021
If suppose instead of two rows I need to have value of 2,3,4 in each intervals of 5. In that case the above command doesnt executes. could you help me on this.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by