如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值有矩阵如下 1 20 2 13 3 18 3 20 4 19 5 21 6 14 7 19
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 19:08:42
如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值有矩阵如下 1 20 2 13 3 18 3 20 4 19 5 21 6 14 7 19
如何在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
由于矩阵行数较多,想要得到对应的平均值矩阵,如何编程呢?
如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值有矩阵如下 1 20 2 13 3 18 3 20 4 19 5 21 6 14 7 19
设原矩阵为A,参考代码:
A1 = A(:,1);
A2 = A(:,2);
B1 = unique(A1);
B2 = arrayfun(@(a)mean(A2(A1==a)),B1);
B = [B1 B2]