How do I select some data from a matrix?

3 ビュー (過去 30 日間)
Rita
Rita 2016 年 3 月 28 日
コメント済み: Rita 2016 年 3 月 31 日
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 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2016 年 3 月 28 日
this is not clear, what kind of repetition? only in in first column?
Rita
Rita 2016 年 3 月 29 日
編集済み: Image Analyst 2016 年 3 月 29 日
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

サインインしてコメントする。

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 3 月 28 日
[~,ii]=unique(A(:,1),'stable');
jj=sort([ii,ii+1]);
out=A(jj,:)
  1 件のコメント
Rita
Rita 2016 年 3 月 31 日
Thanks Azzi

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by