How to take only few rows in a large matrix

Dear All,
I'm working with a large amount of data in a matrix.My problem is the following one.
I have a large matrix which looks like:
  • Initial matrix
X Y Z
0.2 0 6
0.4 0 7
0.6 0 8 values of Y are repeated a lot of time
.. .. ..
.. .. ..
0.1 2 9
0.4 2 10
0.8 2 11
.. .. ..
11 4 6
12 4 8
4 4 9
  • Final marix
X Y Z
0.2 0 6
0.1 2 9
11 4 6
My goal is to take few rows of the matrix because Y values are repeated.

댓글 수: 1

Image Analyst
Image Analyst 2013년 11월 11일
Which row do you want to take? The first row when that value of Y appears? Are y always integers or can they be fractional?

댓글을 달려면 로그인하십시오.

답변 (1개)

A Jenkins
A Jenkins 2013년 11월 11일
편집: A Jenkins 2013년 11월 11일

0 개 추천

You can use the function unique()
[C,IA,IC]=unique(A(:,2))
A(IA,:)
Or perhaps if you already know the indicies of the rows you want, you can select them row-wise:
idxIwant=[1 3 9]
C=A(idxIwant,:);

댓글 수: 1

afrya
afrya 2013년 11월 11일
Thanks for your answer but I don't know the indices of the rows, the matrix that I'm working with has 700 000 rows. I'll do it with the function unique

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기

질문:

2013년 11월 11일

댓글:

2013년 11월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by