请问如何实现二维数组第一列相同数字的行求平均。

7 次查看(过去 30 天)
lojibay
lojibay 2023-3-30
回答: hakaer 2023-3-30
比如下面a是2x7的原始数组,需要最后变成b,就是把第一列相同数字的行求平均
a=[1 2;1 4;2 3;2 5;3 4;3 7;3 1];
% b=[1 3;2 4;3 4];
谢谢各位大佬!

采纳的回答

hakaer
hakaer 2023-3-30
a=[1 2;1 4;2 3;2 5;3 4;3 7;3 1];
%% 方法1
index =unique(a(:,1));
JG=[];
for i =1:length(index)
    JG=[JG;[index(i),mean(a(a(:,1)==index(i),2))]];
end
%% 方法2利用表的groupsummary 组汇总计算
T=array2table(a, 'VariableNames',{'a1','a2'});
G = groupsummary(T,'a1','mean' );
temp=table2array(G);
out=temp(:,[1,3]);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by