Matlab查找重复行并求平均值:快速高效的方法
{"title":"Matlab查找重复行并求平均值:快速高效的方法","description":"使用Matlab的unique和accumarray函数快速找到矩阵中每行前几列数据重复的行,并计算其平均值。","keywords":"Matlab, 矩阵, 重复行, 平均值, unique, accumarray, 矩阵操作, 数据分析","content":"你可以使用Matlab中的unique函数来找到每行前几列数据重复的行,并使用accumarray函数来求平均值。\n\n下面是一个示例代码:\n\nmatlab\n% 创建一个示例矩阵\nA = [1 2 3 4 5;\n 1 2 3 4 6;\n 2 3 4 5 6;\n 2 3 4 5 6;\n 3 4 5 6 7;\n 3 4 5 6 7];\n\n% 设置要比较的列数\ncols = 3;\n\n% 找到每行前cols列数据重复的行\n[~,idx,~] = unique(A(:,1:cols),'rows','stable');\n\n% 求平均值\navg_values = accumarray(idx, A(:,1), [], @mean);\n\n\n在上面的示例中,我们先创建了一个示例矩阵A。然后,我们设置cols变量为要比较的列数。接下来,我们使用unique函数找到每行前cols列数据重复的行,并将结果存储在idx变量中。最后,我们使用accumarray函数,使用idx作为索引,对A的第一列求平均值,并将结果存储在avg_values变量中。"}
原文地址: https://www.cveoy.top/t/topic/pKSF 著作权归作者所有。请勿转载和采集!