How to take only few rows in a large matrix
Ältere Kommentare anzeigen
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 Kommentar
Image Analyst
am 11 Nov. 2013
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?
Antworten (1)
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 Kommentar
afrya
am 11 Nov. 2013
Kategorien
Mehr zu Matrix Indexing finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!