![2014春季學(xué)期-matlab語(yǔ)言程序設(shè)計(jì)與應(yīng)用控制系統(tǒng)cad lesson_第1頁(yè)](http://file4.renrendoc.com/view/3778b3388ad4e07ab97d15514c0baf26/3778b3388ad4e07ab97d15514c0baf261.gif)
![2014春季學(xué)期-matlab語(yǔ)言程序設(shè)計(jì)與應(yīng)用控制系統(tǒng)cad lesson_第2頁(yè)](http://file4.renrendoc.com/view/3778b3388ad4e07ab97d15514c0baf26/3778b3388ad4e07ab97d15514c0baf262.gif)
![2014春季學(xué)期-matlab語(yǔ)言程序設(shè)計(jì)與應(yīng)用控制系統(tǒng)cad lesson_第3頁(yè)](http://file4.renrendoc.com/view/3778b3388ad4e07ab97d15514c0baf26/3778b3388ad4e07ab97d15514c0baf263.gif)
![2014春季學(xué)期-matlab語(yǔ)言程序設(shè)計(jì)與應(yīng)用控制系統(tǒng)cad lesson_第4頁(yè)](http://file4.renrendoc.com/view/3778b3388ad4e07ab97d15514c0baf26/3778b3388ad4e07ab97d15514c0baf264.gif)
![2014春季學(xué)期-matlab語(yǔ)言程序設(shè)計(jì)與應(yīng)用控制系統(tǒng)cad lesson_第5頁(yè)](http://file4.renrendoc.com/view/3778b3388ad4e07ab97d15514c0baf26/3778b3388ad4e07ab97d15514c0baf265.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Matlab語(yǔ)言與控制系統(tǒng)CAD任課教師:鄔樹(shù)楠大連理工大學(xué)航空航天學(xué)院工業(yè)裝備結(jié)構(gòu)分析國(guó)家重點(diǎn)實(shí)驗(yàn)室Lesson 3Previously on Lesson 3 (1)Matlab的M文件 (2) Matlab命令的執(zhí)行方式 交互式的命令執(zhí)行方式在命令窗口中逐條輸入命令,Matlab逐條進(jìn)行解釋、執(zhí)行;但執(zhí)行過(guò)程不能保留。M文件的程序執(zhí)行方式將命令編寫(xiě)成程序,存儲(chǔ)在文件中(即M文件),當(dāng)運(yùn)行該程序后,Matlab會(huì)自動(dòng)執(zhí)行文件中的命令。M文件的建立: (1)菜單項(xiàng)File New M-File; (2)在命令窗口中輸入edit; (3)工具欄上的 New M-FileM文件的打開(kāi)與保存: (
2、1)菜單項(xiàng)File Open M文件名; (2)在命令窗口中輸入edit M文件名; (3)工具欄上的 Open file (4)File Save or Save asM文件的分類(lèi): M文件有兩種即腳本文件/命令文件(Script File)和函數(shù)文件(Function File)。 主要區(qū)別為: 腳本文件通常為一連串指令,沒(méi)有函數(shù)聲明行,無(wú)輸入和輸出參數(shù);函數(shù)文件可以帶有輸入?yún)?shù),也可返回輸出參數(shù); 腳本運(yùn)行過(guò)程所產(chǎn)生的變量都是全局變量,都駐留在Matlab工作空間內(nèi),只要不關(guān)閉Matlab ,不使用清內(nèi)存的clear命令,變量將一直保存。 函數(shù)文件中定義的變量為局部變量,函數(shù)被調(diào)用時(shí),M
3、atlab會(huì)為它開(kāi)辟一個(gè)專(zhuān)用的臨時(shí)工作空間,用來(lái)存放中間變量,當(dāng)執(zhí)行完函數(shù)文件的最后一條命令時(shí)就結(jié)束該函數(shù)的運(yùn)行,返回函數(shù)的輸出,同時(shí)將臨時(shí)工作空間清空; 腳本文件可以直接運(yùn)行,在Matlab命令窗口中輸入文件的名字;而函數(shù)文件不能直接運(yùn)行,而要以函數(shù)調(diào)用的方式調(diào)用它。 對(duì)用戶(hù)來(lái)說(shuō),函數(shù)文件可以看做一個(gè)黑盒,提供輸入,得到輸出。因此易于程序模塊化,適用于大型程序代碼編制。 函數(shù)文件: 函數(shù)文件(Function File)是Matlab中一種重要且常用的文件,有函數(shù)聲明行、輸入?yún)?shù)和輸出參數(shù),以“function”引導(dǎo)。 函數(shù)文件的聲明結(jié)構(gòu)為: function 輸出參數(shù)=函數(shù)名(輸入?yún)?shù))
4、注釋說(shuō)明部分 函數(shù)體語(yǔ)句 return function 輸出參數(shù)=函數(shù)名(輸入?yún)?shù)) 注釋說(shuō)明部分 函數(shù)體語(yǔ)句 return(1)引導(dǎo)行,表明該M文件是函數(shù)文件;(2)等號(hào)右側(cè)是函數(shù)接收的輸入?yún)?shù),多個(gè)參數(shù)間用“,”分隔,并用 “( )”括起來(lái);等號(hào)左側(cè)是函數(shù)運(yùn)算的結(jié)果,多個(gè)參數(shù)間用“,”分隔,并用“ ”括起來(lái)。(3)函數(shù)名是函數(shù)的名稱(chēng),當(dāng)函數(shù)文件名與函數(shù)名不一致時(shí),Matlab調(diào)用時(shí)將使用函數(shù)文件名。 function 輸出參數(shù)=函數(shù)名(輸入?yún)?shù)) 注釋說(shuō)明部分 函數(shù)體語(yǔ)句 return(1)緊隨引導(dǎo)行之后以%開(kāi)頭,第一行一般包括函數(shù)文件名和函數(shù)功能簡(jiǎn)要描述;(2)連續(xù)注釋行,包括函數(shù)輸入
5、輸出參數(shù)的含義以及調(diào)用格式說(shuō)明等,構(gòu)成在線(xiàn)幫助文本;(3)最后的注釋行,包括函數(shù)文件編寫(xiě)的信息、版本、日期等,用于軟件的檔案管理。 function 輸出參數(shù)=函數(shù)名(輸入?yún)?shù)) 注釋說(shuō)明部分 函數(shù)體語(yǔ)句 return(1)由Matlab的命令構(gòu)成;(2)當(dāng)文件執(zhí)行完最后一條命令或遇到“return”命令時(shí)就結(jié)束函數(shù)文件的運(yùn)行,同時(shí)工作空間的變量會(huì)被清除;也可以不使用return語(yǔ)句。 eg.在文本編輯器中建立函數(shù)文件,求兩點(diǎn)之間的距離: 保存為dist2.m文件: 在文本編輯器中建立如下腳本文件: 點(diǎn)擊文本編輯器中的Run或在命令窗口運(yùn)行fdist2: help dist2:第4章 Matl
6、ab程序設(shè)計(jì)和M文件4.1 Matlab的M文件4.2 Matlab的流程控制4.3 Matlab程序的調(diào)試子函數(shù)和私有函數(shù): (1)一個(gè)M文件可以包括多個(gè)函數(shù),其中一個(gè)是主函數(shù),其它是子函數(shù)。這些子函數(shù)只能被該文件中的其它函數(shù)(主函數(shù)或子函數(shù))調(diào)用,不能被其它文件調(diào)用; (2)主函數(shù)必須出現(xiàn)在最上方其后可有若干子函數(shù),子函數(shù)的次序可隨意調(diào)整。主函數(shù)和各子函數(shù)的工作空間都是彼此獨(dú)立的,函數(shù)間信息可通過(guò)輸入?yún)?shù)、返回值、全局變量等傳遞。 (3)私有函數(shù)是主函數(shù)的一種,它只能夠在一個(gè)特定的限定函數(shù)群中可見(jiàn)。私有函數(shù)存放在以專(zhuān)有名稱(chēng)private命名的子目錄下,只是對(duì)其父目錄中的函數(shù)是可見(jiàn)的; (4
7、)當(dāng)M文件中需要調(diào)用某一個(gè)函數(shù)時(shí),MATLAB是按照以下順序來(lái)搜尋的:檢查此函數(shù)是否是子函數(shù);檢查此函數(shù)是否為私有目錄的函數(shù);從所設(shè)定的搜尋路徑搜索此函數(shù)。 (5)搜索過(guò)程中,只要找到與第一個(gè)文件名相符的函數(shù)就會(huì)立即取用而停止搜索。 eg01. 定義一個(gè)函數(shù)文件 function y1=exch(x1,x2) y1=wadd(x3,x4) %subfunction function y2=wadd(xx1,xx2) 主函數(shù)子函數(shù)4.2 Matlab的流程控制Matlab允許程序員根據(jù)某些判決結(jié)構(gòu)來(lái)控制程序的執(zhí)行順序。 三種常用的結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)(選擇結(jié)構(gòu))和循環(huán)結(jié)構(gòu) 程序流程控制語(yǔ)句:
8、循環(huán)控制語(yǔ)句、分支控制語(yǔ)句、其他控制語(yǔ)句、錯(cuò)誤控制語(yǔ)句 順序結(jié)構(gòu) 按照程序中語(yǔ)句的排列順序依次執(zhí)行,直到程序的最后一個(gè)語(yǔ)句。一般涉及數(shù)據(jù)的輸入、計(jì)算處理、數(shù)據(jù)的輸出等內(nèi)容。 輸入:v=input(message) v=input(message,s) %將鍵入的數(shù)值賦給變量v 輸出:disp(輸出項(xiàng)) %既可以為字符串也可以為矩陣 允許輸入字符串 eg02. 求一元二次方程ax2+bx+c=0的根disp(x1=, x(1), x2=, x(2) 運(yùn)行后輸出 暫停:pause(n) pause %按任意鍵后程序繼續(xù)執(zhí)行 Crtl+C %強(qiáng)行終止程序運(yùn)行 分支結(jié)構(gòu)(選擇結(jié)構(gòu)) 分支結(jié)構(gòu)是按照給定
9、的條件成立與否分別執(zhí)行不同的語(yǔ)句。Matlab中的分支結(jié)構(gòu)語(yǔ)句包括:if 語(yǔ)句、switch語(yǔ)句、try語(yǔ)句。 (1) if 語(yǔ)句:?jiǎn)畏种f 語(yǔ)句、雙分支if 語(yǔ)句、 多分支if 語(yǔ)句 單分支if 語(yǔ)句: if 條件 語(yǔ)句組end 單分支if 語(yǔ)句: if 條件 語(yǔ)句組end 當(dāng)條件成立時(shí),則執(zhí)行語(yǔ)句組,執(zhí)行完之后繼續(xù)執(zhí)行if 語(yǔ)句的后繼語(yǔ)句;若條件不成立,則直接執(zhí)行if 語(yǔ)句的后繼語(yǔ)句。 雙分支if 語(yǔ)句: if 條件 語(yǔ)句組1else 語(yǔ)句組2end 當(dāng)條件成立時(shí),則執(zhí)行語(yǔ)句組1,否則執(zhí)行語(yǔ)句組2;執(zhí)行完之后繼續(xù)執(zhí)行if 語(yǔ)句的后繼語(yǔ)句。 eg03. 計(jì)算分段函數(shù) 或者 多分支if 語(yǔ)句
10、: if 條件 1 語(yǔ)句組1 elseif 條件2 語(yǔ)句組2 elseif 條件m 語(yǔ)句組m else 語(yǔ)句組m+1 end 語(yǔ)句執(zhí)行過(guò)程如圖所示: 嵌套的if 語(yǔ)句:多個(gè)if 語(yǔ)句合在一起 if 條件 1 語(yǔ)句組1 else if 條件2 語(yǔ)句組2else end end多分支語(yǔ)句是elseif多分支語(yǔ)句只有一個(gè)end eg04. A/B/C/D/F分級(jí) grade 95 A 95 grade 86 B 86 grade 76 C 76 grade 66 D 66 grade 0 F 用if 結(jié)構(gòu)進(jìn)行分級(jí)描述: (a) 多分支if 語(yǔ)句結(jié)構(gòu) (b) 嵌套if 結(jié)構(gòu) (a) 多分支if 語(yǔ)句結(jié)
11、構(gòu) (b) 嵌套if 結(jié)構(gòu) 輸出結(jié)果為: (2)switch 語(yǔ)句:switch語(yǔ)句根據(jù)表達(dá)式的取值不同,分別執(zhí)行不同的語(yǔ)句。switch 表達(dá)式case 表達(dá)式1語(yǔ)句組1case 表達(dá)式2語(yǔ)句組2 otherwise 語(yǔ)句組n end switch語(yǔ)句執(zhí)行過(guò)程:求表達(dá)式的值KK=值1?語(yǔ)句組1K=值2?語(yǔ)句組2語(yǔ)句組n是是否 switch語(yǔ)句的下一語(yǔ)句否否 注:switch 子句后的表達(dá)式應(yīng)為標(biāo)量或者字符串,case 子句后面的表達(dá)式為標(biāo)量、字符串、矩陣(數(shù)組)。 若case子句后面的表達(dá)式為一個(gè)矩陣,則表達(dá)式的值等于該矩陣中某個(gè)元素時(shí),執(zhí)行相應(yīng)的語(yǔ)句。 eg05. 使用switch結(jié)構(gòu)判斷
12、學(xué)生成績(jī)的等級(jí),90分以上為優(yōu),8090為良,7080為中,6070為及格,60分以下為不及格。score=input(plz input the score: );s1=fix(score/10); %取十位數(shù)switch s1case 9,10s=優(yōu)case 8s=良case 7s=中case 6s=及格otherwises=不及格end 輸出結(jié)果為: (3) try/catch 錯(cuò)誤控制語(yǔ)句:一種試探性執(zhí)行語(yǔ)句,其格式為: try 語(yǔ)句組1 catch 語(yǔ)句組2 end運(yùn)行程序出現(xiàn)一些不可預(yù)見(jiàn)的運(yùn)行錯(cuò)誤時(shí),可以使用錯(cuò)誤控制結(jié)構(gòu)try/catch來(lái)捕獲和處理錯(cuò)誤,避免程序出錯(cuò)而不能繼續(xù)運(yùn)行
13、。 try/catch 錯(cuò)誤控制語(yǔ)句的執(zhí)行過(guò)程:先試探地執(zhí)行語(yǔ)句段1,如果出現(xiàn)錯(cuò)誤則將錯(cuò)誤信息賦給保留的laster變量,并放棄語(yǔ)句段1轉(zhuǎn)而執(zhí)行語(yǔ)句段2中的語(yǔ)句;如果語(yǔ)句段2正確則結(jié)束;當(dāng)語(yǔ)句段1和語(yǔ)句段2都錯(cuò)誤,則程序出錯(cuò)。如果語(yǔ)句段1正確則不執(zhí)行語(yǔ)句段2就結(jié)束; eg06. a=1 3 5; c b=1 2 3; c= try 1 6 15 c=a.*b; catch c=a.*b; end循環(huán)結(jié)構(gòu):按照給定的條件,重復(fù)的執(zhí)行指定的語(yǔ)句。Matlab提供了兩種實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句:for語(yǔ)句和while語(yǔ)句。 (1)for 語(yǔ)句for 循環(huán)變量=表達(dá)式1:式2:式3循環(huán)體語(yǔ)句 end 初值終
14、值 for 循環(huán)變量=表達(dá)式1:式2:式3循環(huán)體語(yǔ)句 end 注:(1)通常的通常循環(huán)變量的控制表達(dá)式 為“:”操作,如i=1:10,j=1:2:10等; (2)循環(huán)的次數(shù)即為表達(dá)式的列數(shù),每 次循環(huán)中循環(huán)變量依次取各列并執(zhí)行 循環(huán)體,直到所有列取完。 for語(yǔ)句執(zhí)行過(guò)程如圖所示:分別求3個(gè)表達(dá)式的值表達(dá)式1的值賦給循環(huán)變量ii在表達(dá)式1的值和表達(dá)式3的值之間?循環(huán)體語(yǔ)句i增加1個(gè)步長(zhǎng)是否 eg07. for語(yǔ)句的循環(huán)變量還可以是一個(gè)列向量,則格式為:for 循環(huán)變量=矩陣表達(dá)式循環(huán)體語(yǔ)句 end 執(zhí)行過(guò)程是依次將矩陣的各列元素賦給循環(huán)變量,然后執(zhí)行循環(huán)體語(yǔ)句,直至各列元素處理完畢。 eg08
15、. 求矩陣各行元素之和 (2)while 語(yǔ)句while 條件 循環(huán)體語(yǔ)句 end 其執(zhí)行過(guò)程為:若條件成立,則執(zhí)行循 環(huán)體語(yǔ)句,執(zhí)行后再判斷條件是否成 立,如果不成立則跳出循環(huán)。P68 圖4.5 eg09. 從鍵盤(pán)輸入若干個(gè)數(shù),當(dāng)輸入0時(shí)結(jié)束,求這些數(shù)的平均值和它們的和。 輸出結(jié)果為: (3)循環(huán)嵌套:一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體包含另外一個(gè)循環(huán)結(jié)構(gòu),就被稱(chēng)為循環(huán)的嵌套,或多重循環(huán)結(jié)構(gòu)。 多重循環(huán)的嵌套層數(shù)可以是任意的,處于內(nèi)部的循環(huán)稱(chēng)為內(nèi)循環(huán),處于外部的循環(huán)稱(chēng)作外循環(huán),在設(shè)計(jì)多重循環(huán)時(shí)要特別注意內(nèi)、外循環(huán)之間的關(guān)系。 eg10. 尋找1,10000內(nèi)的全部完數(shù)。 循環(huán)1循環(huán)2,求真因子之和判斷是否是完數(shù)輸出結(jié)果:m=6,28,496,8128 (4)其它語(yǔ)句 continue語(yǔ)句用于終止當(dāng)前的循環(huán)操作,并直接跳轉(zhuǎn)到該循環(huán)的開(kāi)始再次執(zhí)行該循環(huán),continue語(yǔ)句一般與if 語(yǔ)句配合使用。 break語(yǔ)句用于終止一個(gè)循環(huán)操作并立即跳出該循環(huán),以執(zhí)行該循環(huán)體之后的程序,break一般與if語(yǔ)句結(jié)合使用。 continue語(yǔ)句與break不同的是continue只結(jié)束本次for或while循環(huán),而繼續(xù)進(jìn)行下次循環(huán)。 eg11.計(jì)算f(x)=ex,當(dāng)f(x)1000時(shí)終止計(jì)算。 4.3 Matlab程序的調(diào)試Matlab在運(yùn)行過(guò)程中,經(jīng)常出現(xiàn)的錯(cuò)誤是語(yǔ)法錯(cuò)誤、運(yùn)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水電工程質(zhì)量保證合同
- 2025年度綠色能源項(xiàng)目技術(shù)咨詢(xún)合同 - 副本
- 2025年度新能源項(xiàng)目股權(quán)轉(zhuǎn)讓合同書(shū)模板
- 2025年度定制化整車(chē)物流解決方案合同
- 2025年度網(wǎng)絡(luò)安全防護(hù)服務(wù)合同附加條款模板
- 2025年度汽車(chē)租賃公司車(chē)輛租賃合同
- 2025年度醫(yī)院病房裝修合同協(xié)議書(shū)
- 2025年化工項(xiàng)目環(huán)境影響評(píng)價(jià)咨詢(xún)合同范本
- 2025年度護(hù)士團(tuán)隊(duì)協(xié)作服務(wù)合同
- 2025年度汽車(chē)零部件進(jìn)口采購(gòu)合同范本
- 房地產(chǎn)調(diào)控政策解讀
- 山東省濟(jì)寧市2025屆高三歷史一輪復(fù)習(xí)高考仿真試卷 含答案
- 五年級(jí)數(shù)學(xué)(小數(shù)乘法)計(jì)算題專(zhuān)項(xiàng)練習(xí)及答案
- 產(chǎn)前診斷室護(hù)理工作總結(jié)
- 6S管理知識(shí)培訓(xùn)課件
- 2024-2025學(xué)年八年級(jí)數(shù)學(xué)人教版上冊(cè)寒假作業(yè)(綜合復(fù)習(xí)能力提升篇)(含答案)
- 醫(yī)院培訓(xùn)課件:《猴痘流行病學(xué)特點(diǎn)及中國(guó)大陸首例猴痘病例調(diào)查處置》
- 氫氣-安全技術(shù)說(shuō)明書(shū)MSDS
- 產(chǎn)科護(hù)士臨床思維能力培養(yǎng)
- 2024年社會(huì)工作者(中級(jí))-社會(huì)綜合能力考試歷年真題可打印
- 湖南省長(zhǎng)郡中學(xué)2023-2024學(xué)年高二下學(xué)期寒假檢測(cè)(開(kāi)學(xué)考試)物理 含解析
評(píng)論
0/150
提交評(píng)論