MATLAB if else分支语句的用法(附带实例)
如果在程序中需要根据一定条件来执行不同的操作,则可以使用条件语句。MATLAB 提供 if 分支结构,或者称为 if-else-end 语句。
根据不同的条件,if 分支结构有多种形式,其中最简单的用法是:如果条件表达式为真,则执行语句组,否则跳过语句组。
if 分支结构的语法格式如下:
if 分支结构流程图如下图所示:

图 1 if 分支结构流程图
【实例 1】if分支结构用法示例一。在编辑器中创建一个名为 ifding1.m 的 M 文件,其内容如下。
在分支结构中,多条语句可以放在同一行,但语句间要用“,”或“;”分开。
【实例 2】if 分支结构用法示例二。在编辑器中创建一个名为 ifding2.m 的 M 文件,其内容如下:
在使用 if 分支结构时,需要注意以下问题:
上面的程序使用的是 elseif 语句,也可以使用 else if 语句,此时的程序如下,请读者注意区别。
根据不同的条件,if 分支结构有多种形式,其中最简单的用法是:如果条件表达式为真,则执行语句组,否则跳过语句组。
if 分支结构的语法格式如下:
if 表达式1 语句1 elseif 表达式2.1 % 可选 语句2.1 elseif 表达式2.2 % 可选 语句2.2 ... else % 可选 语句3 endif 分支结构是一个条件分支语句,若满足条件,则往下执行;若不满足条件,则跳出 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 分支结构时,需要注意以下问题:
- if 分支结构很灵活,可以有任意多个 elseif 语句,但是只能有一个 if 语句和一个 end 语句;
- 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