赞
踩
讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。
MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili
我们通过一个经典例题来理解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<b
- if b>c % 此时a<b且b>c
- Max=b;
- else % 此时a<b且b<c
- Max=c;
- end % b>c前面的那个if配套的end,通过缩进可以看出
- end % 最上方的if配套的end
- Max
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。