2015-11-03 140 views
-5

如何確定是一個變量是大於或等於在MATLAB的值,我想:比較變量是大於/小於在Matlab

if (myVar >= '123.1') 
do mething here 
else 
do other thing 
end 

但似乎每次都做另一件事!

我在'123.1'上看到警告,很少說是否有比較功能?

+3

什麼是'myVar'值... – excaza

+1

我不能重現你的錯誤。您的代碼(按原樣)是正確的,唯一可能的錯誤是@excaza建議的,以及myVar的值/類型;也許它是一個矢量/矩陣而不是單個值? – GameOfThrows

+0

emm ... myVar是一個字符,對不起,我忘了'' – lola

回答

1

比較字符邏輯上執行隱式類型轉換之前比較(我假設使用double)。

所以,當你鍵入'123' >= '234'你實際上是執行:

[double('1') >= double('2'), ... % 49 >= 50 
double('2') >= double('3'), ... % 50 >= 51 
double('3') >= double('4') ... % 51 >= 52 
]; 

,如果你的字符串的長度不同這會報錯。在輸入邏輯語句之前,將數據轉換爲與str2doublestr2num之類的內容進行比較。

例如:

strvar = '123.2'; 

if str2double(strvar) >= 123.1 
    disp('True!') 
else 
    disp('False!') 
end 

有了適當的floating point approximation caveat