if InputText == '0' || isempty(InputText)
in MATLAB is giving error:
Operands to the || and && operators must be convertible to logical scalar values.
I'm looking for an explanation for it. Isn't InputText == '0' returning a logical value nor the other? Definitely the second is, so what's the problem with InputText == '0'?
I have a MATLAB script and I want to ask user finish a procedure by either entering a '0' or just pressing space in it; here is the code:
if InputText == '0' || isempty(InputText)
break
end
and here is the error I get consequently:
Operands to the || and && operators must be convertible to logical scalar values.
Error in test (line 11) if InputText == '0' || isempty(InputText)
If
InputText = '012'then you can see what your first check outputs:The single quotes indicate a character array, and it is treated similarly to numeric arrays for comparisons, so the output of the
== '0'operation is a comparison of each element with'0'. This means the output is nonscalar, so you can't use it with&&or||.If you want to check "is the whole character array
InputTextequivalent to'0'?" then you should usestrcmpSo your condition would be