-1

我正在使用嵌套的 for 循环来执行以下功能:我将逐列在 TranLog 矩阵(WXN 大小)中查找哪一行具有非零值基于 TranLog 中此非零值的行位置,我在矩阵 Order 中调用与该行相关的向量。

for循环如下:

for jj=1:W;
    for ii=1:N;
        if TranLog(ii,jj)>0.5
            test=Order(ii,:);
        end
    end
end 

当我运行这个时,向量输出的数量小于它应该的数量。例如:如果 Tranlog 是 23X5 并且 Order 是 23X6,如果有 23 个非零分布在整个 TranLog 矩阵中(TranLog 中每行有一个非零值)我只能从 Order 矩阵中获得 13 个输出向量。我不确定为什么这没有完成,我没有收到错误,但它没有输出我期望的那么多向量。

4

1 回答 1

0

这就是问题所在。您的矩阵有W行和N列,但是W索引jj正在索引列而不是第 3 行中的行。相反的情况发生在ii中,即N的索引。切换这些,你应该很高兴!

for jj=1:W;
    for ii=1:N;
        if TranLog(jj,ii)>0.5
            test=Order(ii,:);
        end
    end
end 
于 2013-11-12T15:00:23.087 回答