MATLAB, как изменить индекс цикла внутри для циклов - PullRequest
2 голосов
/ 08 декабря 2011

У меня есть такой цикл:

b = 1;
for c = 1 : 10;
  if b == 1
      c = 1 + 3
  end
end

Что мне нужно сделать, чтобы изменить c?Потому что, когда я читаю справку, MATLAB сбрасывает счетчик цикла c после того, как он достигает end.

Есть ли способ изменить значение счетчика цикла из цикла for?

Ответы [ 2 ]

10 голосов
/ 08 декабря 2011

вы можете использовать цикл while вместо цикла for.

что-то вроде (я предполагаю, что вы хотите добавить 3 к c, иначе c = 4 может заменить эту строку ниже)

b = 1;
c = 1;
while(c < 10)
    if b == 1
        c = c + 3
    end
end
2 голосов
/ 08 декабря 2011

Не совсем соответствует тому, что вы пытаетесь сделать, но вы хотите увеличить значение c на 3, а не 1 на каждой итерации цикла?

Вы можете сделать это с помощью:

for i = 1:3:10
    // do something
end

это эквивалент более распространенного синтаксиса цикла:

for (c = 1; c <= 10; c+=3)
{
    // do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...