How do I select some data from a matrix?

1 vue (au cours des 30 derniers jours)
Rita
Rita le 28 Mar 2016
Commenté : Rita le 31 Mar 2016
I have for example this matrix
A=[2 0.9;
2 0.8;
2 1.0;
2 0.8;
3 0.3;
3 0.7;
3 0.8;
3 0.7]
I want to have just the first two rows of A in each repetition. The "repetition" is in column 1 of A. Here, the repetition is 2 and 3. So B equals:
B=[2 0.9;
2 0.8;
3 0.3;
3 0.7]
Thanks for help.
  2 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 28 Mar 2016
this is not clear, what kind of repetition? only in in first column?
Rita
Rita le 29 Mar 2016
Modifié(e) : Image Analyst le 29 Mar 2016
Sorry about that.
I mean column 1 = [2 2 2 3 3 3 3] are repetitions. In my real matrix I have 500 times of data from 2 to 20 and I want to create an matrix with the first 100 times of 2 ,3,4,...20 for the first column and the corresponding values for each row.
I am looking for a function which can make B like this:
B=[A(1:2,:);A(5:7,:)]
I need to extend this for my real data.
Thanks

Connectez-vous pour commenter.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 28 Mar 2016
[~,ii]=unique(A(:,1),'stable');
jj=sort([ii,ii+1]);
out=A(jj,:)

Plus de réponses (0)

Catégories

En savoir plus sur Resizing and Reshaping Matrices 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