MATLAB 中的条件语句

Ammar Ali 2022年5月11日
MATLAB 中的条件语句

本教程将讨论使用 MATLAB 中的条件语句定义代码执行的条件。

MATLAB 中的条件语句

与其他编程语言一样,MATLAB 也提供了许多条件语句,如 if、if-else、if...else...if、嵌套的 if...elseswitch 语句。

首先,让我们谈谈 if 语句。如果我们只希望代码在特定表达式上运行,我们可以使用 if 语句。

if 语句中的代码只有在条件为真时才会执行。要定义条件,我们可以使用算术和逻辑运算符。

算术运算符包括小于、大于、等于、小于和等于、大于和等于。逻辑运算符包括 and 运算符和 or 运算符。

逻辑运算符用于组合两个或多个条件。如果我们希望代码仅在两个或多个条件为真时执行,我们可以使用 and 运算符。

如果我们希望代码仅在一个或多个条件为真时执行,我们可以使用 or 运算符。例如,假设我们只想在值大于 0 时显示文本 GreaterThan

请参阅下面的代码。

clc
clear
value1 = 5;
if(value1 > 0)
    disp('GreaterThan')
end

输出:

GreaterThan

在输出中,因为值大于 0,所以显示文本。

现在考虑,如果值不大于 0,我们希望显示 LessThan 文本。在这种情况下,我们可以使用 if...else 语句。

请参阅下面的代码。

clc
clear
value1 = -5;
if(value1 > 0)
    disp('GreaterThan')
else
    disp('LessThan')
end

输出:

LessThan

LessThan 文本显示在输出中,因为该值不大于 0。

if...else 语句的情况下,如果条件为真,则将执行 if 语句中的代码。如果为 false,则将执行 else 语句中的代码。

现在,考虑一下,在检查该值是否大于或小于 0 后,我们还想检查该值是否等于 5,如果该值等于 5,我们将显示 ValueIsFive 文本。在这种情况下,我们可以使用嵌套的 if...else 语句。

请参阅下面的代码。

clc
clear
value1 = 5;
if(value1 > 0)
    disp('GreaterThan')
    if(value1 == 5)
        disp('ValueIsFive')
    end
else
    disp('LessThan')
end

输出:

GreaterThan
ValueIsFive

在输出中,显示两个文本,因为输入值大于零,而且它等于 5。如果我们只想检查第一个语句是否为真,可以使用 if...else...if 语句。

例如,考虑一下,我们想要检查一个值是否小于 0 以及它是否等于 -5。请参阅下面的代码。

clc
clear
value1 = -5;
if(value1 > 0)
    disp('GreaterThan')
else if(value1 == -5)
        disp('Value = -5')
    else
        disp('LessThan')
    end
end

输出:

Value = -5

我们也可以使用 switch 语句代替 if...else...if 语句的阶梯。例如,让我们将上面的代码转换为 switch 语句。

请参阅下面的代码。

clc
clear
value1 = -5;
switch(value1)
    case 0
        disp('value = 0')
    case 5
        disp('value = 5')
    case -5
        disp('value = -5')
    otherwise
        disp('Default Value')
end

输出:

value = -5

现在,让我们使用逻辑运算符在 if 语句中定义多个条件。请参阅下面的代码。

clc
clear
value1 = 5;
if(value1 > 0 && value1 < 100)
    disp('Value is between 0-100')
end

输出:

Value is between 0-100

在代码中,只有当值在 0 到 100 之间时才会打印文本。

假设我们使用&&运算符,if 语句中的代码只有在所有条件都为真时才会执行。假设我们使用||运算符,如果一个或多个条件为真,则执行 if 语句中的代码。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook