How to select specific row in a matrix

i have data like
doy time aod
5 05:46:46 0.62800
5 05:46:56 0.62100
5 05:47:07 0.61600
7 06:47:06 0.53600
7 06:47:16 0.53200
7 06:47:27 0.53500
11 08:31:35 0.64000
11 08:31:46 0.63400
11 08:31:57 0.62600
and i want this data like(for minimum aod in group)
5 05:47:07 0.61600
7 06:47:16 0.53200
11 08:31:57 0.62600

2 comentarios

James Tursa
James Tursa el 19 de Mzo. de 2018
How do you currently have the data stored? In a table variable? Or ...?
AKHILESH KUMAR
AKHILESH KUMAR el 20 de Mzo. de 2018
data are stored in table

Iniciar sesión para comentar.

Respuestas (1)

Akira Agata
Akira Agata el 20 de Mzo. de 2018
Assuming your data is stored in table format, say T, the following code can do that.
func = @(x) T(T.aod == min(x),:);
Tout = splitapply(func,T.aod,findgroups(T.doy));
The result is like this:
>> Tout
Tout =
3×3 table
doy time aod
___ ________ _____
5 05:47:07 0.616
7 06:47:16 0.532
11 08:31:57 0.626

3 comentarios

Andrei Bobrov
Andrei Bobrov el 20 de Mzo. de 2018
+1
AKHILESH KUMAR
AKHILESH KUMAR el 20 de Mzo. de 2018
what is x and in MATLAB time, aod ,doy are string.
Akira Agata
Akira Agata el 21 de Mzo. de 2018
x is an input variable of an 'anonymous function'. Please visit the following link for more details.

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 19 de Mzo. de 2018

Comentada:

el 21 de Mzo. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by