2017-07-25 76 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