MATLAB - If Else 语句
MATLAB - 条件语句:if、elseif、else
Section titled “MATLAB - 条件语句:if、elseif、else”条件语句允许您的代码根据特定条件是否满足来做出决策并执行不同的代码块。MATLAB 中其基本结构是 if...elseif...else...end 块。
基本的 if...end 语句
Section titled “基本的 if...end 语句”最简单的条件语句形式是,仅当给定表达式为真时才执行一个代码块。
if <expression> % 如果表达式为真,则执行的语句end处理替代情况:if...else...end
Section titled “处理替代情况:if...else...end”if 语句后可跟一个可选的 else 语句,当 if 表达式为假时执行 else 语句。这提供了一种处理两种可能结果的方式。
if <expression> % 如果表达式为真,则执行的语句else % 如果表达式为假,则执行的语句end示例:检查一个值
Section titled “示例:检查一个值”a = 100;
% 检查布尔条件if a < 20 fprintf('a is less than 20.\n');else fprintf('a is NOT less than 20.\n');end
fprintf('The final value of a is: %d\n', a);执行此代码会产生以下结果:
a is NOT less than 20.The final value of a is: 100处理多个条件:if...elseif...else...end
Section titled “处理多个条件:if...elseif...else...end”对于多于两种可能结果的情况,您可以使用一个或多个 elseif 语句。MATLAB 会按顺序检查条件。第一个评估为真的条件,其代码块将被执行,其余结构将被跳过。
if <expression1> % 如果 expression1 为真则执行elseif <expression2> % 如果 expression1 为假且 expression2 为真则执行else % 如果所有前面的表达式都为假则执行end实际示例:成绩分类
Section titled “实际示例:成绩分类”让我们编写一个脚本,根据数值分数来分配字母等级。
score = 85;
if score >= 90 grade = 'A';elseif score >= 80 grade = 'B';elseif score >= 70 grade = 'C';elseif score >= 60 grade = 'D';else grade = 'F';end
fprintf('A score of %d results in a grade of ''%s''.\n', score, grade);当 score = 85 时的输出:
A score of 85 results in a grade of 'B'.在条件中使用逻辑运算符
Section titled “在条件中使用逻辑运算符”您可以使用逻辑运算符创建更复杂的条件:
&&: 逻辑与||: 逻辑或~: 逻辑非
temperature = 25; % 摄氏度isRaining = false;
if temperature > 20 && ~isRaining disp('It is a pleasant day for a walk!');elseif temperature < 5 || isRaining disp('Better to stay indoors today.');end替代方案:switch 语句
Section titled “替代方案:switch 语句”当您需要根据离散值的列表检查单个变量时,switch 语句比冗长的 if...elseif... 链更简洁、更具可读性。
matlab_decisions.htm