2015-01-22 2 views
0

Действительно простой вопрос ... Я пытаюсь выйти из цикла пока рано:Matlab равна не работает

while optimal < 1 
    %some code... 
    x=0 %This is just here to set my example... 
    if x~=0 
     break 
    end 
end 

Но по какой-то причине, даже если х был установлен в 0, если оператор всегда терпит неудачу, как это говорит, что x не равно 0, а петли while никогда не будут выходить

Спасибо!

+3

Я думаю, вы должны использовать 'х == 0 ', а не' х ~ = 0' – articuno

+0

ли вы ** абсолютно ** уверены, что 'x = 0'? Выполняете ли вы какие-то вычисления в своем цикле, где 'x' ** ожидается ** нулевым, если это не так? Это сообщение может быть полезно: http://stackoverflow.com/questions/686439/why-is-24-0000-not-equal-to-24-0000-in-matlab – rayryeng

ответ

2

, если вы хотите, чтобы выйти, если х равно 0, то вы хотите написать:

if x==0 

Однако, если вы не хотите, чтобы выйти из цикла до конца, вы можете также добавить условие на й в это время линия:

while (optimal < 1 && x~=0) 

«до тех пор, как оптимальный меньше единицы и х не 0»

Смежные вопросы