How to select specific row in a matrix
    5 次查看(过去 30 天)
  
       显示 更早的评论
    
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 个评论
回答(1 个)
  Akira Agata
    
      
 2018-3-20
        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 个评论
  Akira Agata
    
      
 2018-3-21
				x is an input variable of an 'anonymous function'. Please visit the following link for more details.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Propagation and Channel Models 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



