matlab - 如何在一个等价语句中包含多个条件?

标签 matlab if-statement conditional-statements logical-operators

我试图在变量满足两个值之一时触发条件。我知道我可以将其表达为:

if x == 5 || x == 6
    execute code...
end

但我想知道如果 x 的名字很长,是否有更优雅的东西。像这样的东西:

if x == {5, 6}
    execute code...
end

有人有什么想法吗?

最佳答案

确实有一个通用的方法。您可以使用 any函数来测试 x 是否等于数组的任何元素:

if any(x == [5, 6])
    % execute code
end

这适用于数值数组。如果你正在处理元胞数组,你可以使用 ismember (感谢@nilZ0r!)

choices = {'foo', 'bar', 'hello'};
x = 'hello';

if ismember(x, choices)
    % execute code
end

ismember 适用于数值数组和元胞数组(感谢@TasosPapastylianou)。

关于matlab - 如何在一个等价语句中包含多个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870457/

相关文章:

matlab - 如何用二进制形式表示 double 型数?

algorithm - 梯度下降不会返回线性函数的错误预测

python - 让MATLAB R2019b使用Python3.6

c - 分配值并在同一行进行比较它是如何工作的?

java - 如何从按钮javafx获取正确的文本值

r - 平行坐标的实现?

c - 从 C 中的 argv[i] 检查 fopen 时出错

android - 为什么 if else 语句的两边都被执行了,如何解决?

c - 在 C 中增加结构构建时间

c# - 条件属性