0
y = find(sA);
l = y + sA;

for i=1:10
  for j=1
      l = l + sA;
  end
  y = y + length(y);
end

我想知道如何将l每次迭代生成的值存储在数组中。

当我尝试做类似 l(l) = l + sA; 我得到了“奇怪”的结果。

注意:请阅读我在下面发表的评论。谢谢!

4

2 回答 2

0

试试这样:

y = find(sA); %This is incredibly strange! What exactly are you trying to achieve with this line?
l = y + sA;

for i=1:10
  l = l + sA;
  StoredL(i, :) = l;
  y = y + length(y); %This line does nothing??? Why is it here?
end

我删除了你的内部循环,因为它什么都不做,因为 j = 1 只会运行一次,那有什么意义呢?

于 2012-09-05T07:07:17.013 回答
0

对于一个复杂的循环,通常我会这样做:

results = zeros(expectedLength,1);
ixNextResult = 1;

for ixForLoop1 = 1:10
    for ixForLoop2 = 20:30
        ..
        results(ixNextResult) = calculationResult;
        ixnextResult = ixNextResult + 1;
    end
end

我很难理解你的代码试图完成什么,所以我不确定要改变什么。例如,该片段l(l) = l+sA对我来说没有多大意义。

于 2012-09-04T23:54:10.913 回答