Matlab中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?有矩阵(三列)如下:1 600000 31 600000 41 600000 51 600004 41 600004 51 600005 31 600005 31 600005 51 600005 41 600005 31 600005 41 600005 52 600

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 15:37:08

Matlab中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?有矩阵(三列)如下:1 600000 31 600000 41 600000 51 600004 41 600004 51 600005 31 600005 31 600005 51 600005 41 600005 31 600005 41 600005 52 600
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形式,

Matlab中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?有矩阵(三列)如下:1 600000 31 600000 41 600000 51 600004 41 600004 51 600005 31 600005 31 600005 51 600005 41 600005 31 600005 41 600005 52 600
定义函数:
 
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中某矩阵具有三列数字,如何根据前两列数字来计算第三列的平均值?有矩阵(三列)如下:1 600000 31 600000 41 600000 51 600004 41 600004 51 600005 31 600005 31 600005 51 600005 41 600005 31 600005 41 600005 52 600 matlab中如何交换矩阵的行或者列 matlab如何计算矩阵的每行元素中每三列平方和(一行中每三列计算一次)如次图所示 MATLAB中,对于矩阵,如何去掉所有全为0的列 形成新的矩阵 matlab中生成一个20行3列的矩阵,想把这个矩阵按行截成4个矩阵5行3列的矩阵,该如何操作? matlab中一个100*1的列矩阵,阵元都是5,如何形成 matlab中如何分别画一个矩阵中的每列元素的图像? 请问如何将MATLAB程序中矩阵第j行数值赋予第j列元素? 如何把matlab中2个一行n列的矩阵做加法运算. 在matlab中如何求两个列矩阵的协方差?用cov函数可以求得两个列矩阵的协方差矩阵,这个矩阵的对角线就是相关系数,那么如何单独求出两个列矩阵的协方差呢? matlab中怎么样输入三对角矩阵 matlab中如何进行矩阵运算? 在matlab中如何输入矩阵 matlab中如何定义变量矩阵? matlab 中稀疏矩阵如何定义 谁知道matlab中如何定义变量矩阵? matlab列矩阵的表示 紧急!matlab中列矩阵中如果含有另一个列矩阵怎么表示,比如一个五行的列矩阵中含有一个四行的列矩阵.最后一行的数为0 那这个矩阵应该如何表示? MATLAB中如何建立矩阵A为一个M维列矩阵,其中每个元素又是一个N维单位矩阵?