![MATLAB计算机视觉经典应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/202/43738202/b_43738202.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.7.1 选择结构
MATLAB的选择结构有if语句和switch语句两种形式。if语句最为常用,switch语句适用于选择分支比较整齐、分支较多、没有优先关系的场合。对if语句来说,只有一种选择是其中最简单的一种,其格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-020-2.jpg?sign=1739281177-lgn6UemcrmykSxFoydEy505S5ms82Wii-0-9ae5147401fc5e387728ac69e14bb086)
当expression为真(true或1)时,就执行if与end之间的语句。
当有两种选择时,格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-2.jpg?sign=1739281177-jOFKhNcGJtOYuDY2AuhPP3nJCgnKvjVw-0-3ae7d01220defb9a03b773120c130748)
如果expression为真(true或1),则执行statements1;否则执行statements2。
如果程序需要有3个或3个以上的选择分支,则可使用如下语句格式:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-3.jpg?sign=1739281177-HQwaVpMgvwbsXPzlVjwMttGIqusrCeMK-0-da1ab901b42a4df8b51718d6bd79c2b2)
在这种格式的语句中,else语句可有可无,当程序遇到某个表达式为真时,即执行对应的程序语句,其他的分支将被跳过。
if语句是可以嵌套的,如:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-4.jpg?sign=1739281177-DzRkCmPPgXOsJflIuh7t52p4tDGywYfL-0-a215fd467fd834e0899bab39c83e545a)
选择结构也可以由switch语句实现,在多选择分支时使用switch语句更为方便,其语句格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-5.jpg?sign=1739281177-AJ1eUOfIp0O0d0w12GJlJ0nezTnxelyZ-0-70a9faa27348dae0a642e1a6e96f4332)
如果switch_expression等于case中的某一个表达式,则执行相应的程序语句。当switch_expression与所有表达式都不相等时,就执行otherwise对应的程序语句,但otherwise语句并不是必需的。
【例1-5】利用if语句遍历一个矩阵,并赋予对应的新值。
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-1.jpg?sign=1739281177-OokhnyASWX3x3SLk6gJrrmgD8bmLba6k-0-a7cbbe0c7c2f1e18a6f9dbf9812e9766)
运行程序,输出如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-2.jpg?sign=1739281177-q5L328UiGGbLFVtOI6CeTSzVcbBluOyY-0-2fa28e0a2ac6f8346b5c150916f59bc8)
【例1-6】利用switch语句,根据在命令提示符处输入的值,有条件地显示不同的文本。
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-3.jpg?sign=1739281177-cVnLT40DEvrOwtXFLG2l4vlGAzSxKCBh-0-20cce4cdeb93e7a32bfc6a67d7998c99)
运行程序,输出如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-4.jpg?sign=1739281177-dYruUAXm5hCP9IS7lGqsjsLvwPtFilki-0-26c8a60359d164bcd4c8e8e137484bc6)