![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=1739992497-kGHvmIVjqiqK9EHTfXcwEc1uujBnv8Mt-0-c5d9221f363d3db8bb7e5eb92bb8517b)
当expression为真(true或1)时,就执行if与end之间的语句。
当有两种选择时,格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-2.jpg?sign=1739992497-kuKv2iPXSTCzlSq9AsfEmfgAhu8f5elu-0-d896e569d7f86d19388e046c81d58c0b)
如果expression为真(true或1),则执行statements1;否则执行statements2。
如果程序需要有3个或3个以上的选择分支,则可使用如下语句格式:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-3.jpg?sign=1739992497-bb9ohvu1Y2bGhYTWQvucI2yrm8WvOkhD-0-0928c6fd3d1c06b2f005fe3106524702)
在这种格式的语句中,else语句可有可无,当程序遇到某个表达式为真时,即执行对应的程序语句,其他的分支将被跳过。
if语句是可以嵌套的,如:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-4.jpg?sign=1739992497-wt7Nx993PXjmFkm52M2WcOrEpqC3k4NB-0-8713ab5153fb47d178473f25cc11f0b6)
选择结构也可以由switch语句实现,在多选择分支时使用switch语句更为方便,其语句格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-5.jpg?sign=1739992497-c7owSYMkcfnBmfJYjviMmNhT25ZTLUxB-0-d456f17c41dbb4e81807be64c6db38d1)
如果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=1739992497-KnJMdgkKA9joVeZO2oEqlP3GCT9piA9R-0-b14266a74375d9a37b8dffc17211fe3a)
运行程序,输出如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-2.jpg?sign=1739992497-iElCpnCHeEGAj442uoAMs0NuFTdATMEH-0-e9353215e2011b5289e59bb32b4b3032)
【例1-6】利用switch语句,根据在命令提示符处输入的值,有条件地显示不同的文本。
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-3.jpg?sign=1739992497-LFqsstU10ES330gAOQcPAciqF5BpEdAu-0-dd4c7de631234f5ed8976b71f30ef7c7)
运行程序,输出如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-4.jpg?sign=1739992497-hx7StXHA3tAwXASZipxKtHxnFbMEdevK-0-bbb02685bc78eae84d753c18060bca3d)