2013-12-06 4 views
0

Я хочу использовать делать во время цикл в Matlab:Do Хотя Loops в Matlab

В настоящее время я использую этот код, но я не думаю, что я делаю это правильно:

flag2=true; 

while (flag2) 

    % (I write the program here) 

    for abc = 1:3 
     if abs(error(abc)) < errorTreshold 
      flag2=false; 
      break 
     end 
    end 
end 
+0

какую ошибку вы получаете? в конце есть как минимум один «конец». – thewaywewalk

+0

цикл заканчивается сразу ... я думаю, что у меня есть ошибка в цикле for: S – user3074215

+0

возможно if-condition всегда верно и поэтому всегда прерывается. Оставьте флаг 'flag2 = false; break' и используйте' disp (abs (error (abc)) thewaywewalk

ответ

0

Вы должны сделать:

if abs(error(abc)) > errorTreshold 

вместо "<"

или посмотреть, если вы можете сделать (удаление «если»):

while abs(error(abc))>errorTreshold 
+0

есть ли способ, например, в java, чтобы использовать что-то в то время как условие ... поскольку я хочу, чтобы программа хотя бы что-то делала один раз ... и вот так я бы исключил флаг – user3074215

+0

@ user3074215: Насколько я знаю, isn't. Использование флагов, как вы написали, является подходящим методом. Если вы его проверите, вы увидите, что первое условие всегда выполняется (под «while»). Ваша ошибка была просто символом «>». – George