【发布时间】:2013-11-24 18:08:52
【问题描述】:
我正在使用嵌套的 for 循环来执行以下功能: 我将在 TranLog 矩阵(W X N 大小)中逐列查找哪一行具有非零值 基于这个非零值在 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 个输出向量。我不确定为什么这没有完成,我没有收到错误,但它没有输出我期望的那么多向量。
【问题讨论】:
-
包含一个标签来指示您使用的语言可能会有所帮助。
-
在我看来,您的循环将遍历
N * W数组,而不是W * N数组,考虑到术语TranLog(ii,jj)中的索引顺序。 -
您的代码完全发布在this very similar question 中。这是一个重复的帐户,或者您有相同的家庭作业。无论哪种方式都不好!
-
问答@chappjc 指出这确实是来自重复帐户的重复问题。严重糟糕的形式。
标签: matlab for-loop matrix indexing nested