Finding the average of every nth row but n is not fixed.
    2 次查看(过去 30 天)
  
       显示 更早的评论
    
Hello,
Consider a nx2 matrix M with
M= [
1 10
1 11
1 20
2 4
2 9
2 8
2 7
.
.
.
];
How to find the average of the second column when the first column change values, i.e. "1 rows" have 3
values while "2 rows" have 4, etc. so we need the average of the 3 first values, then the next four, etc. 
Thank you.
采纳的回答
  Stephen23
      
      
 2019-7-23
        
      编辑:Stephen23
      
      
 2019-7-23
  
      >> M = [1,10;1,11;1,20;2,4;2,9;2,8;2,8];
>> V = accumarray(M(:,1),M(:,2),[],@mean)
V =
  13.667
   7.25
>> V = splitapply(@mean,M(:,2),M(:,1))
V =
  13.667
   7.25
And if you want those values back in the matrix:
>> M(:,3) = V(M(:,1))
M =
  1  10  13.667
  1  11  13.667
  1  20  13.667
  2   4   7.25
  2   9   7.25
  2   8   7.25
  2   8   7.25
2 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


