当前位置:   article > 正文

MATLAB知识点:if条件判断语句的嵌套_matlab 多个if嵌套,不满足条件回到其中的某一个if

matlab 多个if嵌套,不满足条件回到其中的某一个if

 ​讲解视频:可以在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.

  1. a = 5; b = 8; c = 3; % 随便编一组数据测试
  2. if a > b && a > c
  3. Max = a; % 不要命名为小写的max,否则和内置函数重名了
  4. elseif c > b && c > a
  5. Max = c;
  6. else
  7. Max = b;
  8. end
  9. Max

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

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

  1. if a>b
  2. if a>c % 此时a>b且a>c
  3. Max=a;
  4. else % 此时a>b且c>a
  5. Max=c;
  6. end % a>c前面的那个if配套的end,通过缩进可以看出
  7. else % 此时a<b
  8. if b>c % 此时a<b且b>c
  9. Max=b;
  10. else % 此时a<b且b<c
  11. Max=c;
  12. end % b>c前面的那个if配套的end,通过缩进可以看出
  13. end % 最上方的if配套的end
  14. Max

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/199974
推荐阅读
相关标签
  

闽ICP备14008679号