​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​

MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili

节选自​第4章:MATLAB程序流程控制

我们通过一个经典例题来理解if的嵌套,所谓if的嵌套,是指在if、elseif或者else下方的语句中又出现了if语句(一定要注意:每个if都要有配套的end)。

例题:已知a、b和c是三个互不相等的常数,请使用if语句找出a、b和c三个数的最大值。(注意,这里是练习条件语句,请不要使用max函数直接求最大值)

如果使用原来的思路,我们需要找到各种可能情况并进行多次判断,流程图和代码如下:

注意:a>b且a>c涵盖了表中前两种排序的情况;c>b且c>a则涵盖了表中第三种和第四种排序的情况;如果都不满足则只剩下表中最后两种排序的情况,此时最大值为b.

a = 5; b = 8; c = 3; % 随便编一组数据测试

if a > b && a > c

Max = a; % 不要命名为小写的max,否则和内置函数重名了

elseif c > b && c > a

Max = c;

else

Max = b;

end

Max

下面我们换一种思路,我们判断的流程图如下:

从上图可以看出:我们首先判断a和b的大小关系,然后根据第一次的判断结果分别进行条件判断,因此出现了嵌套的情况。根据上述流程图可编写下面的代码:

if a>b

if a>c % 此时a>b且a>c

Max=a;

else % 此时a>b且c>a

Max=c;

end % a>c前面的那个if配套的end,通过缩进可以看出

else % 此时a

if b>c % 此时ac

Max=b;

else % 此时a

Max=c;

end % b>c前面的那个if配套的end,通过缩进可以看出

end % 最上方的if配套的end

Max

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: