MATLAB Answers

Rita
0

How do I select some data from a matrix?

Asked by Rita
on 28 Mar 2016
Latest activity Commented on by Rita
on 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 Comments

this is not clear, what kind of repetition? only in in first column?
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

Sign in to comment.

1 Answer

Answer by Azzi Abdelmalek
on 28 Mar 2016
 Accepted Answer

[~,ii]=unique(A(:,1),'stable');
jj=sort([ii,ii+1]);
out=A(jj,:)

  1 Comment

Thanks Azzi

Sign in to comment.