在if语句中将值与Matlab中的空集[]进行比较

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运算符.

Moh*_*nia 5

你可以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对该代码的未来读者使用标量比较的原因(即使只有您自己).