How to store value generated from nested for loop in an array, in Matlab?

前端 未结 2 691
我寻月下人不归
我寻月下人不归 2021-01-27 13:38
y = find(sA);
l = y + sA;

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

I would like to know how to store the value that is ge

相关标签:
2条回答
  • 2021-01-27 14:27

    For a complex loop, usually I do something like this:

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

    I'm having a hard time understanding what your code is trying to accomplish, so I'm not sure what to change. For example the snippet l(l) = l+sA does not make a lot of sens to me.

    0 讨论(0)
  • 2021-01-27 14:35

    Try it like this:

    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
    

    I removed your inner loop as it was doing nothing, for j = 1 will only ever run once so what's the point?

    0 讨论(0)
提交回复
热议问题