作业帮 > 综合 > 作业

如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 12:58:42
如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值
有矩阵如下
1 20
2 13
3 18
3 20
4 19
5 21
6 14
7 19
7 17
7 18
8 13
.
400 14
想要根据第一列数字是否相同(如都为3),相应求第二列的平均值.
即得到以下这个矩阵:
1 20
2 13
3 19 即(18+20)/2
4 19
5 21
6 14
7 18 即 (19+17+18)/3
8 13
.
400 14
由于矩阵行数较多,想要得到对应的平均值矩阵,如何编程呢?
设原矩阵为A,参考代码:
A1 = A(:,1);
A2 = A(:,2);
B1 = unique(A1);
B2 = arrayfun(@(a)mean(A2(A1==a)),B1);
B = [B1 B2]