matlab for循环每10步迭代一次

时间:2017-01-09 17:57:37

标签: matlab iteration

我正在尝试使用for loop迭代代码中的每10个步骤。 代码写在下面;

for i=10:10:30 
 for j=20:10:40
   k=i+j
 end
end

所以,第一次迭代将是10:20,然后是20:30,最后是30:40。但是当我使用它时,我的代码中一直出现错误。但是,如果我只输入10:2020:30,它可以正常使用。

1 个答案:

答案 0 :(得分:1)

由于循环的顺序,有一个像你所写的嵌套for循环不会产生你期望的结果。如果我们在分配i时查看jk的值,我们会看到以下值。

i   j
10  20
10  30
10  40
20  20
20  30
20  40
30  20
30  30
30  40

如果您希望k等于10:20,然后20:30,最后30:40,那么您需要做类似这样的事情< / p>

starts = 10:10:30;
ends   = 20:10:40;

% Only use a single for loop
for k = 1:numel(starts)
    k = starts(k):ends(k);

    % Do stuff with this k
end