通过lat和lon对数据进行分类时,摆脱'for'循环

时间:2013-10-08 19:43:22

标签: matlab

我需要帮助摆脱'for'循环。现在我循环遍历一大堆数据,查看其纬度和经度,然后计算出数组中每个盒子的平均值。我想我最大的问题是弄清楚如何摆脱i = 1:n和j = 1:m循环,它允许我将我的数据网格分散到lat和lon框中。

注意:我得到'mu',这是来自另一位代码的文件数量,我只使用p = length(lat {1,k})来计算每个文件的长度。

n=36;
m=72;
counter=zeros(36,72);
sum=zeros(36,72);
average=zeros(36,72);

for k=1:mu
    p=length(lat{1,k});
    for i=1:n
        for j=1:m
            for u=1:p
                if (ge(lat{1,k}(u),i*5-95) && lt(lat{1,k}(u),i*5-90) && ge(lon{1,k}(u),j*5-185) && lt(lon{1,k}(u),j*5-180))
                    if lt(sfc{1,k}(u),0)
                        sfc{1,k}(u)=0;
                    end
                    sum(i,j)= sum(i,j) + sfc{1,k}(u);
                    counter(i,j)= counter(i,j) + 1;
                    average(i,j)= sum(i,j)/counter(i,j);
                end
            end
        end
    end
    average
end

0 个答案:

没有答案