Matlab中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 13:41:26
Matlab中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?
有矩阵(三列)如下:
1 600000 3
1 600000 4
1 600000 5
1 600004 4
1 600004 5
1 600005 3
1 600005 3
1 600005 5
1 600005 4
1 600005 3
1 600005 4
1 600005 5
2 600000 4
2 600000 5
2 600000 4
2 600000 3
2 600004 5
2 600004 4
2 600005 4
2 600005 3
3 600000 3
3 600000 2
3 600000 1
3 600004 2
3 600004 3
3 600005 2
3 600005 3
我想要把一列和二列元素都相同的行对应的第三列进行平均,即要得到这样的结果:
1 600000 4
1 600004 4.5
1 600005 3.86
2 600000 4
2 600004 4.5
2 600005 3.5
3 600000 2
3 600004 2.5
3 600005 2.5
这里仅仅是例子,因为这个矩阵很长,无法一一计算,如何在matlab中编程?最好能够写成function形式,
有矩阵(三列)如下:
1 600000 3
1 600000 4
1 600000 5
1 600004 4
1 600004 5
1 600005 3
1 600005 3
1 600005 5
1 600005 4
1 600005 3
1 600005 4
1 600005 5
2 600000 4
2 600000 5
2 600000 4
2 600000 3
2 600004 5
2 600004 4
2 600005 4
2 600005 3
3 600000 3
3 600000 2
3 600000 1
3 600004 2
3 600004 3
3 600005 2
3 600005 3
我想要把一列和二列元素都相同的行对应的第三列进行平均,即要得到这样的结果:
1 600000 4
1 600004 4.5
1 600005 3.86
2 600000 4
2 600004 4.5
2 600005 3.5
3 600000 2
3 600004 2.5
3 600005 2.5
这里仅仅是例子,因为这个矩阵很长,无法一一计算,如何在matlab中编程?最好能够写成function形式,
定义函数:
function C = mean_zd(A)
A=sortrows(A);
idx = [0; find(any([diff(A(:,1)) diff(A(:,2))],2)); size(A,1)];
n = length(idx) - 1;
C = zeros(n,3);
for i=1:n
B = A(idx(i)+1:idx(i+1),3);
C(i,:) = [A(idx(i+1),1:2) mean(B)];
end
disp(num2str(C))
设矩阵为A,调用:
mean_zd(A);
得到:
1 600000 4
1 600004 4.5
1 600005 3.857142857
2 600000 4
2 600004 4.5
2 600005 3.5
3 600000 2
3 600004 2.5
3 600005 2.5
function C = mean_zd(A)
A=sortrows(A);
idx = [0; find(any([diff(A(:,1)) diff(A(:,2))],2)); size(A,1)];
n = length(idx) - 1;
C = zeros(n,3);
for i=1:n
B = A(idx(i)+1:idx(i+1),3);
C(i,:) = [A(idx(i+1),1:2) mean(B)];
end
disp(num2str(C))
设矩阵为A,调用:
mean_zd(A);
得到:
1 600000 4
1 600004 4.5
1 600005 3.857142857
2 600000 4
2 600004 4.5
2 600005 3.5
3 600000 2
3 600004 2.5
3 600005 2.5
Matlab中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?
如何在matlab大矩阵中根据一列数字是否相同来算另一列的平均值
如何在matlab矩阵中根据第一列数字是否相同来算第二列的均值
matlab如何计算矩阵的每行元素中每三列平方和(一行中每三列计算一次)
两列的矩阵,将矩阵中第一列元素相同的第二列元素相加求平均值 matlab
matlab中 假如a矩阵为【1,2,3,4,5,6,7,8,9】,现求 每行的平均值;每列的平均值,矩阵的平均值.怎解
matlab中如何交换矩阵的行或者列
在matlab中如何求两个列矩阵的协方差?
用C#计算矩阵平均值用C#计算一个矩阵中每一列的平均数(矩阵中的数不用多)
excel中如何计算多条件数字的平均值
如果EXCEL中有ABC三列,A列有25000个数字,B和C列有100000个数字,A列中数字全部是从B列中出来的,如何
excel 中如何计算某列中的某类值所对应的另一列的值的平均值呢?