2017-07-25 26 views
1

嗨,我是MATLAB的新手。如何在MATLAB中使用條件變量?

我有一個變量名爲predictLabels其值爲1,2,3,4。對於每個圖像的predictLabels的值進行更改。在工作區中,它顯示爲predictLabels ='1'

問題是,當我使用,如果條件,該變量什麼都沒有。部分代碼如下 -

if predictLabels == 1 
    imshow(img); 
end 

上述代碼無法正常工作。沒有錯誤顯示,即使編譯器沒有輸入if語句。我認爲這種情況檢查有一個功能。

回答

2

問題是您的變量predictLabels不包含數字值。相反,它似乎是character array'1')或cell array of characters{'1'})。我猜這是後者,這就是爲什麼它顯示爲... = '1'而不是... = 1。哪一個是,你應該在你的條件檢查使用strcmp代替==

if strcmp(predictLabels, '1') 
    imshow(img); 
end 

如果您想檢查變量的數據類型,你可以使用class功能:

>> predictLabels = '1'; 
>> class(predictLabels) 

ans = 
char 

或者你可以使用whos檢查數據爲整個工作區:

>> whos 
    Name    Size   Bytes Class Attributes 

    predictLabels  1x1     2 char 
+0

非常感謝你。這工作得很好。 – Dominic

相關問題