Matlab怎么求多个不对应矩阵的平均值

用matlab读出几组数据,每组数据包含三个矩阵,经度,纬度和温度,但是每组矩阵的大小不同,矩阵排列没有规律,三个数据的关联是靠位置对应,即温度矩阵的第一个元素的坐标为(经度矩阵的第一个元素,纬度矩阵的第一个元素),现在想要查找每组数据中经纬度相同的点,对该点的温度求取平均值。
入门玩家一枚,感觉可以通过循环筛选经度相同且纬度相同的值,但此时要如何确定所对应的温度呢?
希望在此领域深耕的各位同仁们(因为有词被禁了 我换个说法)能给思路,或者简单的代码,感激不尽

我觉得有两个步骤需要注意。
第一要排序,第二要筛选一样的并且记录每种一样的个数。
一、先要把每组三个对应矩阵,整理整理成一个N行3列的矩阵Mat1,此时就没有组的影响了
二、用sortrows对纬度从小到大排序,再用sortrows对经度从小到大排序,这样相同坐标就挨着了。
三、这个排好序的N行3列矩阵Mat2,一行一行提出来,塞到Mat3里,如果和上一次塞的一条数据,经度纬度都相同,就说明是同一个数据,和上一条加起来,并且计数加1,
四、Mat3第三列温度数据除以它的第四列计数数据,再只要它的前3列数据就得到想要的结果了。


% 模拟数据 ABC三组 其中B组坐标与A组部分相同
A_JingDu=rand(5,5);
A_WeiDu=rand(5,5);
A_WenDu=rand(5,5);

B_JingDu=A_JingDu(1:2,:);
B_WeiDu=A_WeiDu(1:2,:);
B_WenDu=rand(2,5);

C_JingDu=rand(7,5);
C_WeiDu=rand(7,5);
C_WenDu=rand(7,5);
%Mat1 所有整理成N行3列的数据
All_JingDu_WeiDu_WenDu=[];

[row,col]=size(A_JingDu);
for i=1:1:row
    for j=1:1:col
        All_JingDu_WeiDu_WenDu=[All_JingDu_WeiDu_WenDu;A_JingDu(i,j),A_WeiDu(i,j),A_WenDu(i,j)];
    end
end

[row,col]=size(B_JingDu);
for i=1:1:row
    for j=1:1:col
        All_JingDu_WeiDu_WenDu=[All_JingDu_WeiDu_WenDu;B_JingDu(i,j),B_WeiDu(i,j),B_WenDu(i,j)];
    end
end

[row,col]=size(C_JingDu);
for i=1:1:row
    for j=1:1:col
        All_JingDu_WeiDu_WenDu=[All_JingDu_WeiDu_WenDu;C_JingDu(i,j),C_WeiDu(i,j),C_WenDu(i,j)];
    end
end

%排序,按照经度从小到大,经度相同就纬度从小到大 得到Mat2
All_JingDu_WeiDu_WenDu = sortrows(All_JingDu_WeiDu_WenDu,2);
All_JingDu_WeiDu_WenDu = sortrows(All_JingDu_WeiDu_WenDu,1);

%合并相同经纬度,还带计数 Mat3
All_JingDu_WeiDu_WenDu_Count=[];
[row,col]=size(All_JingDu_WeiDu_WenDu);

k=0;%是塞进Mat3的条数
for i=1:1:row
%取出一条
    temp_JingDu_WeiDu_WenDu = All_JingDu_WeiDu_WenDu(i,:);
    if(isempty(All_JingDu_WeiDu_WenDu_Count))
        All_JingDu_WeiDu_WenDu_Count=[All_JingDu_WeiDu_WenDu_Count;[temp_JingDu_WeiDu_WenDu,1]];
        k=k+1;
    elseif(temp_JingDu_WeiDu_WenDu(1,1)==All_JingDu_WeiDu_WenDu_Count(k,1) &&temp_JingDu_WeiDu_WenDu(1,2)==All_JingDu_WeiDu_WenDu_Count(k,2) )
        All_JingDu_WeiDu_WenDu_Count(k,3)=All_JingDu_WeiDu_WenDu_Count(k,3)+temp_JingDu_WeiDu_WenDu(1,3);%该相同经纬度加和
        All_JingDu_WeiDu_WenDu_Count(k,4)=All_JingDu_WeiDu_WenDu_Count(k,4)+1; %计数加1
        else
        All_JingDu_WeiDu_WenDu_Count=[All_JingDu_WeiDu_WenDu_Count;[temp_JingDu_WeiDu_WenDu,1]];
        k=k+1;
    end
end

% 温度除以计数 得到结果Mat4  All_JingDu_WeiDu_pingjunWenDu
All_JingDu_WeiDu_pingjunWenDu=All_JingDu_WeiDu_WenDu_Count;
All_JingDu_WeiDu_pingjunWenDu(:,3)=All_JingDu_WeiDu_WenDu_Count(:,3)./All_JingDu_WeiDu_WenDu_Count(:,4);
All_JingDu_WeiDu_pingjunWenDu = All_JingDu_WeiDu_pingjunWenDu(:,1:3);