将结果保存在嵌套的for循环中

时间:2015-10-08 09:12:45

标签: matlab

我想使用Matlab将以下for - 循环结果保存在一个新矩阵中,我该怎么做?或者其他任何建议?

X 5467 -by- 513 矩阵,id 143 -by- 1 向量和wkno 44 -by- 1 向量

for i=1:size(id,1);
    for j=1:size(wkno,1);
        tst= X(:,1)==id(i) & X(:,2)==wkno(j);
        M=mean(X(tst,:));
    end
end

1 个答案:

答案 0 :(得分:1)

确保您实际将事物保存到矩阵而不是标量变量,即将下标索引添加到您要保存到的变量中:

for ii=1:size(id,1);
    for jj=1:size(wkno,1);
        tst(ii,jj)= X(:,1)==id(ii,1) & X(:,2)==wkno(jj,1);
        M(ii,jj)=mean(X(tst,:));
    end
end

不是因为this is a bad idea而禁止将ij用作变量。我将,1添加到idwkno,以确保您将它们用作列变量。这是一个很好的习惯,因为当你有一个多维数组时,单个索引会出错。