Ale*_*lex 1 comparison matlab if-statement
当比较评估为[]或时,我想做一些事情TRUE.
例如,假设比较是x > 1x可以是以下两者.
x = 2
x = []
Run Code Online (Sandbox Code Playgroud)
如果x > 1给出[]或者我想显示'是' TRUE.
我可以
if x <= 1
disp 'no'
else
disp 'yes'
end
Run Code Online (Sandbox Code Playgroud)
但在没有否定比较运算符的情况下,有没有直接的方法呢?
编辑回答第一个答案:我想避免使用isempty运算符.
你可以all在比较上调用函数
if all(x > 1)
disp 'yes'
else
disp 'no'
end
Run Code Online (Sandbox Code Playgroud)
那是因为
>> all([])
ans =
1
>> all(1)
ans =
1
Run Code Online (Sandbox Code Playgroud)
您可能需要添加一个注释,说明您all对该代码的未来读者使用标量比较的原因(即使只有您自己).