版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第八章邏輯運(yùn)算與控制結(jié)構(gòu)本章學(xué)習(xí)目標(biāo):
1)掌握matlab的關(guān)系和邏輯運(yùn)算符2)了解find運(yùn)算3)合理使用if/else4)掌握switch/case結(jié)構(gòu)5)正確使用for循環(huán)和while循環(huán)8.1關(guān)系和邏輯運(yùn)算符(1)關(guān)系運(yùn)算符除了傳統(tǒng)的數(shù)值運(yùn)算,MATLAB還支持關(guān)系和邏輯運(yùn)算。作為所有的關(guān)系和邏輯表達(dá)式的輸入,MATLAB把任何非零數(shù)值當(dāng)作真,而只把零當(dāng)作假。所有關(guān)系和邏輯表達(dá)式的輸出,當(dāng)結(jié)果為真時,輸出為1;當(dāng)結(jié)果為假時,輸出為0。關(guān)系運(yùn)算符該運(yùn)算符功能關(guān)系運(yùn)算符該運(yùn)算符功能<小于>=大于等于>大于==等于<=小于等于~=約等于
注意:1)符號“==”和“=”的區(qū)別:前者是用來比較兩個變量,相等的時候返回1,不等的時候返回0;后者是用來將運(yùn)算的結(jié)果賦給一個變量。2)sin(pi)~=0該值結(jié)構(gòu)為真,即為1;比較abs(sin(pi)-0)<1.0e-14;●3<4●3<=4●3>4●3==4●'A'<'B'(2)邏輯運(yùn)算符
邏輯運(yùn)算符的功能在于使用其將多個表達(dá)式組合在一起,或是對關(guān)系式取反。
異或即排它(真假不同才是真)運(yùn)算優(yōu)先級:算數(shù)運(yùn)算,關(guān)系運(yùn)算,非,與,或邏輯運(yùn)算符功能&與~非?或Xor異或8.3Find結(jié)構(gòu)函數(shù)find是找出向量或矩陣中非0元素的位置標(biāo)志●I=find(x):返回向量或矩陣x中的所有非0元素的位置標(biāo)識組成的向量,如果沒有非0元素,則返回空值?!瘛綢,J】=find(x);返回矩陣x的非0元素行和列的標(biāo)識。其中I是行標(biāo)識,J是列標(biāo)識?!瘛綢,J,V】=find(x):返回矩陣x中的非0元素行和列的標(biāo)識。v是非0元素數(shù)值。8.4選擇語句在編寫程序時,往往需要根據(jù)一定的條件,進(jìn)行一定的選擇來執(zhí)行不同的語句,此時,需要使用分支語句來控制程序的進(jìn)程,在MATLAB中,使用if-else-end來實(shí)現(xiàn)這種控制。其中有三種使用形式:只有一種選擇時的情況此時的程序結(jié)構(gòu)如下:
if表達(dá)式執(zhí)行語句
end這是結(jié)構(gòu)最簡單的一個應(yīng)用形式,它只有一個判斷語句,當(dāng)表達(dá)式為真時,就執(zhí)行if和end之間的執(zhí)行語句,否則不予以執(zhí)行。例:ifG<50disp('Gisasmallvalueequalto:')disp(G);end有兩種選擇時的情況假如有兩個選擇:
if表達(dá)式執(zhí)行語句1else
執(zhí)行語句2end此時如果表達(dá)式為真,則系統(tǒng)將運(yùn)行執(zhí)行語句1;如果表達(dá)式是假,則系統(tǒng)將運(yùn)行執(zhí)行語句2。有三種或三種以上選擇的情況當(dāng)有三種或更多的選擇時,選用如下的結(jié)構(gòu):
if表達(dá)式1
表達(dá)式1為真時的執(zhí)行語句1elseif表達(dá)式2
表達(dá)式2為真時的執(zhí)行語句2elseif表達(dá)式3
表達(dá)式3為真時的執(zhí)行語句3else
所有的表達(dá)式為假時的執(zhí)行語句4
end在這種形式中,當(dāng)運(yùn)行到程序的另一個表達(dá)真時,則執(zhí)行與之相關(guān)的執(zhí)行語句,此時系統(tǒng)將不在檢驗其他的關(guān)系表達(dá)式,即系統(tǒng)將跳過其余的if-else-end結(jié)構(gòu),而且,最后的else命令可有可無。
if(b^2-4*a*c)<0disp('thisequationhastwocomplexroots.');if(b^2-4*a*c)==0disp('thisequationhastwoidenticalrealroots.');elsedisp('thisequationhastwodistinctrealroots.');end分支語句
在MATLAB語言中,除了上邊介紹的if-else-end分支語句外,還提供了另外一種分支語句形式,那就是switch-case-otherwise-end分支語句,這就是新增加的一個功能,這可以使熟悉C語言或者其他高級語言的用戶更方便地使用MATLAB分支功能。它的使用格式如下:switch開關(guān)語句
case條件語句執(zhí)行語句,…,執(zhí)行語句
case{條件語句1,條件語句2,條件語句3,…}執(zhí)行語句,…,執(zhí)行語句
….otherwise
執(zhí)行語句,…,執(zhí)行語句end
在這個結(jié)構(gòu)中,當(dāng)某個條件語句的內(nèi)容與開關(guān)語句的內(nèi)容相匹配時,系統(tǒng)將執(zhí)行其后的語句,如果都不相符時,系統(tǒng)將執(zhí)行otherwise的語句。注意:Switch指令后面的表達(dá)式是一個標(biāo)量或者是個字符串;Case指令后面的不僅僅是標(biāo)量或者字符串還可以為一個單元數(shù)組。
try-catch是選擇結(jié)構(gòu)中一種特殊結(jié)構(gòu),用于捕捉錯誤。當(dāng)程序運(yùn)行時遇到錯誤,程序會終止執(zhí)行,但如果將可能出錯的結(jié)構(gòu)放在try語句中,那么程序會執(zhí)行catch語句而不會中斷程序執(zhí)行。使用的格式如下:
try
執(zhí)行語句1catch
執(zhí)行語句2end
一般來說,執(zhí)行語句1中的所有命令都要執(zhí)行,如果執(zhí)行語句1中沒有MATLAB7.0錯誤出現(xiàn),那么,在執(zhí)行語句1后,出現(xiàn)控制就直接跳動end語句;但是如果在運(yùn)行執(zhí)行語句1的過程中,出現(xiàn)了MATLAB錯誤,那么程序控制就立刻轉(zhuǎn)移到catch語句,然后執(zhí)行語句2。在catch模塊,函數(shù)lasterr包含了在try模塊中出現(xiàn)的錯誤生成的字符串。這樣,catch模塊中的執(zhí)行語句2就可以獲取這個錯誤字符串,然后采取相應(yīng)的動作。
try-catch模塊也可以嵌套使用。8.4循環(huán)語句for循環(huán)1)for循環(huán)的最大特點(diǎn)是:它的循環(huán)判斷條件通常就是對循環(huán)次數(shù)的判斷,也就是說,循環(huán)語句的循環(huán)次數(shù)是預(yù)先設(shè)定好的。它的使用格式如下:
fori=表達(dá)式執(zhí)行語句,…,執(zhí)行語句
end
其中,它的表達(dá)式是一個向量,其形式可以是m:s:n;其中m、n和s可以為整數(shù)、小數(shù)或是負(fù)數(shù)。但是當(dāng)n>m時,s必須有大于0的數(shù),而當(dāng)n<m時,s必須為小于0的數(shù),因此只有這樣,表達(dá)式才能組成一個向量。表達(dá)式也可以是m:n這樣的形式,此時,s的值默認(rèn)為1,n必須大于m。見例子:對n=1,2,3····10;求x(n)=sin(n*pi/10)程序:for=1:10x(n)=sin(n*pi/10);endx2)for循環(huán)的另一個特點(diǎn)就是嵌套使用,它可以多次嵌套for循環(huán)或是和其他的結(jié)構(gòu)形式嵌套,這樣可以利用它來實(shí)現(xiàn)更為復(fù)雜的功能。while循環(huán)語句與for循環(huán)不同,while循環(huán)的判斷控制可以是邏輯判斷語句的,因此它的循環(huán)次數(shù)可以是一個不定數(shù)。這樣就賦予了它比for循環(huán)更廣泛的用途。它的使用格式如下:
while表達(dá)式執(zhí)行語句
end
在這個循環(huán)中,只要表達(dá)式的值不為false,程序就會一直運(yùn)行下去,必須注意的是,當(dāng)程序設(shè)計出現(xiàn)了問比如表達(dá)式的值總是false時,程序容易陷入死循環(huán)因此在使用while時,一定要在執(zhí)行語句中設(shè)置使表達(dá)式的值為false的情況。終止命令break和return
首先介紹break命令。Break命令主要用在循環(huán)控制中,如for循環(huán)和while循環(huán),一般通過if語句來使用break語句。當(dāng)if語句滿足一定的條件時,break語句將被調(diào)用,系統(tǒng)將在循環(huán)尚為結(jié)束時,跳出當(dāng)前循環(huán)。在多層嵌套循環(huán)中,break只能跳出包含它的最內(nèi)層的循環(huán)。注意:break語句只應(yīng)用于循環(huán)語句中,當(dāng)在循環(huán)語句以外進(jìn)行終止操作時,可以使用return命令后,進(jìn)程將返回調(diào)用函數(shù)或是鍵盤,同時,使用return命令可以終止keyboard模式。通常情況下,程序在end處結(jié)束,而return命令可以提前結(jié)束程序。見例子:繼續(xù)命令continuecontinue
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度云南省高校教師資格證之高等教育心理學(xué)題庫練習(xí)試卷B卷附答案
- 2023年異噻唑啉酮投資申請報告
- 加氫工藝?yán)碚摽荚囶}庫及答案
- 福建師范大學(xué)《移動通信系統(tǒng)優(yōu)化》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《體育統(tǒng)計學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 果園虧損財務(wù)分析報告示例
- 福建師范大學(xué)《環(huán)境監(jiān)測實(shí)驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《關(guān)系管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 第二章 能量和營養(yǎng)素第一節(jié)基本概念課件
- 機(jī)械加工常用材料的熱處理工藝表
- 茶鮮葉收購合同
- 10kV線路跨越高速公路施工方案(共21頁)
- 醫(yī)院痛點(diǎn)及發(fā)展趨勢
- (完整word版)研究生英語聽說教程答案基礎(chǔ)級第三版
- 特種設(shè)備事故專項應(yīng)急預(yù)案(天然氣公司)
- ISO9001、ISO14001、ISO45001三體系內(nèi)審計劃+內(nèi)審檢查表+內(nèi)審報告
- 完美型活潑型力量型平和型
- 10以內(nèi)加減法練習(xí)題大全
- 財務(wù)管理期末考試試卷及答案
- 飛機(jī)加油車壓力控制原理
- 專業(yè)導(dǎo)論(酒店管理)教案.doc
評論
0/150
提交評論