- MATLAB计算机视觉经典应用
- 丁伟雄编著
- 428字
- 2022-05-06 19:59:42
1.7.1 选择结构
MATLAB的选择结构有if语句和switch语句两种形式。if语句最为常用,switch语句适用于选择分支比较整齐、分支较多、没有优先关系的场合。对if语句来说,只有一种选择是其中最简单的一种,其格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-020-2.jpg?sign=1739585556-cCHsZgys7FJ6JU9lLn0SFKCRZoI3qI8b-0-2ba513ca05e7f5bf63a1a53e24158f16)
当expression为真(true或1)时,就执行if与end之间的语句。
当有两种选择时,格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-2.jpg?sign=1739585556-tsC3S8ifzlUrB3jr74kXYo9zZ5oU416G-0-cfb7df93706264428f8a0c3458572cf4)
如果expression为真(true或1),则执行statements1;否则执行statements2。
如果程序需要有3个或3个以上的选择分支,则可使用如下语句格式:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-3.jpg?sign=1739585556-BfEkTSQ4tXqC1urEwFH4kVG4Zs8vUa1P-0-8f5ff243d3dc563ba78ae8876a47f53e)
在这种格式的语句中,else语句可有可无,当程序遇到某个表达式为真时,即执行对应的程序语句,其他的分支将被跳过。
if语句是可以嵌套的,如:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-4.jpg?sign=1739585556-Xcd3SAFNimt8KQBLTvfRx791j74bBt4R-0-199ae26af4537d7263be0310d7e114ea)
选择结构也可以由switch语句实现,在多选择分支时使用switch语句更为方便,其语句格式如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-021-5.jpg?sign=1739585556-yjsQEJcsWKQn8NISEkAZjWB40CoRVG7Z-0-daa33375ecdf5c9c51e4983aee4b1307)
如果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=1739585556-A5MeKOpQ0l9qFi7oQGMttijjz7GAjzSh-0-af70b9640f5c2e99c3bb5b58184887fe)
运行程序,输出如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-2.jpg?sign=1739585556-YMdD5z2X5kMwcsJJ6aqrQDwBsLD8qqas-0-52a09b9b26491cf0d0ecc1b3ea02be8b)
【例1-6】利用switch语句,根据在命令提示符处输入的值,有条件地显示不同的文本。
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-3.jpg?sign=1739585556-JSAJMn1rl7i1i6XWQcrua2PPStXls85G-0-7ed7195f13da0479f0b0de42b011ff48)
运行程序,输出如下:
![](https://epubservercos.yuewen.com/C01C09/23020645509749106/epubprivate/OEBPS/Images/42440-00-022-4.jpg?sign=1739585556-uP0mkHi3iI8Yo2XQDbzxfHSLxFsB4xYJ-0-e7b54fa2511a5c364f2e485ce45d1ae0)