首页 > 编程笔记 > MATLAB笔记 阅读:141

MATLAB if else分支语句的用法(附带实例)

如果在程序中需要根据一定条件来执行不同的操作,则可以使用条件语句。MATLAB 提供 if 分支结构,或者称为 if-else-end 语句。

根据不同的条件,if 分支结构有多种形式,其中最简单的用法是:如果条件表达式为真,则执行语句组,否则跳过语句组。

if 分支结构的语法格式如下:
if 表达式1
    语句1
elseif 表达式2.1    % 可选
    语句2.1
elseif 表达式2.2    % 可选
    语句2.2
...
else                % 可选
    语句3
end
if 分支结构是一个条件分支语句,若满足条件,则往下执行;若不满足条件,则跳出 if 分支结构。elseif 与 else 为可选项,这两条语句可依据具体情况取舍。if 分支结构可以包含多个 elseif 块。

if 分支结构流程图如下图所示:


图 1 if 分支结构流程图

注意,在 MATLAB 中 elseif 也可以写成 else if,此时每个 if 都对应一个 end,即有几个 if,就应有几个 end。


【实例 1】if分支结构用法示例一。在编辑器中创建一个名为 ifding1.m 的 M 文件,其内容如下。
clear
a=600;
b=20;
if a<b
    fprintf ('b>a')    % 在 Word 中输入'b>a',单引号不可用,要在编辑器中输入
else
    fprintf ('a>b')
end
单击 ▶(运行)按钮,执行程序。在命令行窗口中输出如下运行结果:
>> ifding1
a>b
程序中用到了 if..else..end 结构,如果 a<b,则输出 b>a,反之输出 a>b。由于 a=600,b=20,比较可得 a>b。

在分支结构中,多条语句可以放在同一行,但语句间要用“,”或“;”分开。

【实例 2】if 分支结构用法示例二。在编辑器中创建一个名为 ifding2.m 的 M 文件,其内容如下:
clear
a=20; b=20;
if a<b    % if 分支结构
    fprintf('b>a')
elseif a==b    % 关系运算符恒等于不能写成=,一定要写成==
    fprintf('a=b')
else
    fprintf('a>b')
end
单击 ▶(运行)按钮执行程序。在命令行窗口中输出如下运行结果:
>> ifding2
a=b

在使用 if 分支结构时,需要注意以下问题:
上面的程序使用的是 elseif 语句,也可以使用 else if 语句,此时的程序如下,请读者注意区别。
clear
a=20; b=20;
if a<b    % if 分支结构
    fprintf('b>a')
else
    if a==b    % 关系运算符恒等于不能写成=,一定要写成==
        fprintf('a=b')
    else
        fprintf('a>b')
    end
end

相关文章