MATLAB 条件语句

371 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情

MATLAB 条件语句

决策结构要求程序员应指定一个或多个要由程序评估或测试的条件,如果确定条件为真,则应指定要执行的一个或多个语句,如果条件为真,则可以选择要执行的其他语句。条件确定为假。

以下是大多数编程语言中常见的典型决策结构的一般形式

MATLAB-if ... end语句

if ... end语句包含一条if语句和一个布尔表达式,后跟一个或多个语句。它由end语句定界。

语法

MATLAB中if语句的语法是-

if <expression>
   %如果布尔表达式为真,则执行语句
   <statements>
end

如果表达式的计算结果为true,则将执行if语句中的代码块。如果表达式的计算结果为false,则将执行end语句之后的第一组代码。

image.png

创建一个脚本文件并输入以下代码-

示例

a = 10;
%使用if语句检查条件
   if a < 20 
   %如果condition为真,则打印以下内容
      fprintf('a is less than 20\n' );
   end
fprintf('value of a is : %d\n', a);

运行文件时,它显示以下结果-

is less than 20
value of a is : 10

MATLAB-if ... else ... end语句

if语句后可以跟可选的else语句,该语句在表达式为false时执行。

语法

MATLAB中if ... else语句的语法是-

if <expression>
   %如果布尔表达式为真,则将执行语句
   <statement(s)>
else
   <statement(s)>
   %如果布尔表达式为false,则将执行语句
end

如果布尔表达式的计算结果为true,则将执行if代码块,否则将执行else代码块。

image.png 创建一个脚本文件并输入以下代码-

示例

a = 100;
%检查布尔条件
   if a < 20 
      %如果condition为真,则打印以下内容
      fprintf('a is less than 20\n' );
   else
      %如果condition为false,则打印以下内容
      fprintf('a is not less than 20\n' );
   end
   fprintf('value of a is : %d\n', a);

编译并执行上述代码后,将产生以下结果-

is not less than 20
value of a is : 100

MATLAB-if ... elseif ... elseif ... else ... end语句

一条if语句后可以跟一个(或多个)可选elseif... 和一条else语句,这对于测试各种条件非常有用。

当使用if ... elseif ... else语句时,要牢记以下几点:

  • 一个if可以有零个或另一个,并且必须在其他elseif之后。
  • 一个if可以具有零个或多个elseif,并且它们必须位于else之前。
  • 如果else if成功,则不会测试其余的elseif。

语法

if <expression 1>
   %当表达式1为true时执行
   <statement(s)>

elseif <expression 2>
   %当布尔表达式2为true时执行
   <statement(s)>

Elseif <expression 3>
   %当布尔表达式3为true时执行
   <statement(s)>

else 
   %当上述条件都不为true时执行
   <statement(s)>
end

创建一个脚本文件并在其中键入以下代码-

示例

a = 100;
%检查布尔条件
   if a == 10 
      %如果condition为真,则打印以下内容 
      fprintf('Value of a is 10\n' );
   elseif( a == 20 )
      % 如果条件成立的话 
      fprintf('Value of a is 20\n' );
   elseif a == 30 
      % 如果条件成立的话
      fprintf('Value of a is 30\n' );
   else
      %如果没有一个条件是真的
      fprintf('None of the values are matching\n');
   fprintf('Exact value of a is: %d\n', a );
   end

编译并执行上述代码后,将产生以下结果-

None of the values are matching
Exact value of a is100