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!