2014-09-30 33 views
0

我想要下面的循環來獲得狀態返回並調用命令cmd,直到狀態= 0 ,但這不工作,因爲我期望它。 你怎麼看待下面的代碼:while循環來檢查狀態在MATLAB結束

[status,message] = system(cmd); 
while status==false 
     disp('the return value is not correct'); 
       [status,message] = system(cmd); 
       if status == 0 
        break; 

       end 
    end 
+0

任何提示什麼是不工作?你無限期地陷入循環內嗎? – sobek 2014-09-30 16:24:48

+1

你試圖用'cmd'執行的命令是什麼。它實際上是Windows命令提示還是其他命令? '0'和'false'將被matlab解釋爲相同的,所以你的'while status == false'條件只會運行一次,因爲在循環中你也會說'if status == 0; break;' – Hoki 2014-09-30 16:24:56

回答

0

我明白,你想,直到你得到一個0(假)返回運行CMD,因此,你應該做的是:

[status,message] = system(cmd); 
while status~=false 
     disp('the return value is not correct'); 
     [status,message] = system(cmd); 
end 

所以它會繼續迭代,直到狀態==假

+0

那不計算。如果'status == true'爲什麼會返回''返回值不正確'? – sobek 2014-10-01 09:52:21

+0

決定你的想法。看着你的代碼,你不可能知道你真正想要什麼。然後將其更改爲true。我基於通常成功的命令返回0(成功)的假設。 – 2014-10-01 14:57:04

+0

你正在向合唱團m8傳道,那不是我的代碼。 – sobek 2014-10-01 20:05:42