MATLAB 查找重复列并求平均值:使用 unique 和 accumarray 函数
使用MATLAB中的unique函数和accumarray函数来实现。假设你有一个矩阵A,其中包含了多行多列的数据,你想要找到重复的前几列数据并求平均。首先,你可以使用unique函数找到矩阵A中重复的前几列数据的索引。假设你要找到前3列数据的重复索引,可以使用下面的代码:\n\nmatlab\n[~,~,idx] = unique(A(:,1:3), 'rows', 'stable');\n\n\n这里的idx是一个列向量,其中包含了矩阵A中重复的前3列数据的索引。\n\n接下来,你可以使用accumarray函数根据idx来计算重复的数据的平均值。假设你要计算前3列数据的平均值,可以使用下面的代码:\n\nmatlab\navg = accumarray(idx, A(:,1:3), [], @mean);\n\n\n这里的avg是一个矩阵,其中每行对应一个重复的数据,每列对应矩阵A的前3列数据的平均值。\n\n完整的代码如下:\n\nmatlab\n[~,~,idx] = unique(A(:,1:3), 'rows', 'stable');\navg = accumarray(idx, A(:,1:3), [], @mean);\n\n\n你可以根据需要修改代码中的列数和函数来适应不同的情况。
原文地址: https://www.cveoy.top/t/topic/pKR7 著作权归作者所有。请勿转载和采集!