如何更改for循环的迭代次数?

时间:2017-05-11 15:34:48

标签: matlab for-loop

我有以下问题:当使用for循环时,迭代次数最初是固定的,但是可以在每次循环时更改它吗?

例如,我运行矩阵M(30x2)

    for i = 1: size (M, 1)
    Bla bla bla
    M = [M; BLA bla]
    end

因此,在这种情况下,矩阵M会在每个循环中改变大小(或几乎取决于条件),并且我希望在迭代次数i中考虑此更改。

我试过这个:(但它没有用)

L=length(M);
for i = 1:L
Bla bla bla
M = [M; BLA bla]
L=L+1; or I tried too L=length(M);
end

2 个答案:

答案 0 :(得分:2)

这是一个选择:

i = 1;
while i ~= N
    etc...
    i = i+1;
    N = size(M,2); %or whatever
end

答案 1 :(得分:0)

你不能增加for循环的迭代,但你可以在for循环中使用if语句并在之前中断:

for i = 1: size (M, 1)
    Bla bla bla
    M = [M; BLA bla]
    if size(M,1)>10, break; end % use your condition to stop
end