Mean of a repeating numbers corresponding values

4 次查看(过去 30 天)
I have a matrix like [ 10 40; 10 60 ;10 90; 14 10; 14 20; 14 30; 14 40] i want to calculate the mean of the repeating numbers corresponding values like repeating 10 corresponding values are 40 60 90 so the mean is 190/3 and similarly the 14 corresponding values are 10 ,20,30,40 so the mean is 100/4. How can i do this ?

采纳的回答

Simon Chan
Simon Chan 2022-3-24
Use function groupsummary:
A = [ 10 40; 10 60 ;10 90; 14 10; 14 20; 14 30; 14 40];
T = table(A(:,1),A(:,2),'VariableName',{'Item','Value'});
S = groupsummary(T,'Item','mean')
S = 2×3 table
Item GroupCount mean_Value ____ __________ __________ 10 3 63.333 14 4 25
  4 个评论
Simon Chan
Simon Chan 2022-3-24
A = [ 10 40; 10 60 ;10 90; 14 10; 14 20; 14 30; 14 40];
Item = A(:,1);
Value = A(:,2);
[UItem,~] = unique(Item);
meanValue = arrayfun(@(x) mean(Value(ismember(Item,x))),UItem);
result = [UItem, meanValue]
result = 2×2
10.0000 63.3333 14.0000 25.0000

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by