




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二部分MATLAB的程序設(shè)計(jì)
2.1腳本文件和函數(shù)文件2.2函數(shù)調(diào)用和參數(shù)傳遞2.3MATLAB的程序結(jié)構(gòu)和控制流2.4M文件的調(diào)試12.1腳本文件和函數(shù)文件2.1.1M腳本文件對(duì)于一些比較簡(jiǎn)單的問(wèn)題,在指令窗中直接輸入指令計(jì)算。對(duì)于復(fù)雜計(jì)算,采用腳本文件(Scriptfile)最為合適。MATLAB只是按文件所寫(xiě)的指令執(zhí)行。M腳本文件的特點(diǎn)是:腳本文件的構(gòu)成比較簡(jiǎn)單,只是一串按用戶(hù)意圖排列而成的(包括控制流向指令在內(nèi)的)MATLAB指令集合。腳本文件運(yùn)行后,所產(chǎn)生的所有變量都駐留在MATLAB基本工作空間(Baseworkspace)中。只要用戶(hù)不使用清除指令(clear),MATLAB指令窗不關(guān)閉,這些變量將一直保存在基本工作空間中。M文件有兩種形式:腳本文件(ScriptFile)和函數(shù)文件(FunctionFile)。這兩種文件的擴(kuò)展名,均為“.m”。22.1腳本文件和函數(shù)文件(續(xù)1)2.1.2M函數(shù)文件與腳本文件不同,函數(shù)文件猶如一個(gè)“黑箱”,把一些數(shù)據(jù)送進(jìn)并經(jīng)加工處理,再把結(jié)果送出來(lái)。MATLAB提供的函數(shù)指令大部分都是由函數(shù)文件定義的。M函數(shù)文件的特點(diǎn)是:從形式上看,與腳本文件不同,函數(shù)文件的笫一行總是以“function”引導(dǎo)的“函數(shù)申明行”。從運(yùn)行上看,與腳本文件運(yùn)行不同,每當(dāng)函數(shù)文件運(yùn)行,MATLAB就會(huì)專(zhuān)門(mén)為它開(kāi)辟一個(gè)臨時(shí)工作空間,稱(chēng)為函數(shù)工作空間(Functionworkspace)
。當(dāng)執(zhí)行文件最后一條指令時(shí),就結(jié)束該函數(shù)文件的運(yùn)行,同時(shí)該臨時(shí)函數(shù)空間及其所有的中間變量就立即被清除。MATLAB允許使用比“標(biāo)稱(chēng)數(shù)目”較少的輸入輸出宗量,實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用。32.1腳本文件和函數(shù)文件(續(xù)2)2.1.3M文件的一般結(jié)構(gòu)由于從結(jié)構(gòu)上看,腳本文件只是比函數(shù)文件少一個(gè)“函數(shù)申明行”,所以只須描述清楚函數(shù)文件的結(jié)構(gòu)。典型M函數(shù)文件的結(jié)構(gòu)如下:函數(shù)申明行:位于函數(shù)文件的首行,以關(guān)鍵字function開(kāi)頭,函數(shù)名以及函數(shù)的輸入輸出宗量都在這一行被定義。笫一注釋行:緊隨函數(shù)申明行之后以%開(kāi)頭笫一注釋行。該行供lookfor關(guān)鍵詞查詢(xún)和help在線幫助使用。在線幫助文本區(qū):笫一注釋行及其之后的連續(xù)以%開(kāi)頭的所有注釋行構(gòu)成整個(gè)在線幫助文本。編寫(xiě)和修改記錄:與在線幫助文本區(qū)相隔一個(gè)“空”行,也以%開(kāi)頭,標(biāo)志編寫(xiě)及修改該M文件的作者和日期等。函數(shù)體:為清晰起見(jiàn),它與前面的注釋以“空”行相隔。例2_2_1:M函數(shù)文件示例。42.2函數(shù)調(diào)用和參數(shù)傳遞2.2.1局部變量和全局變量局部(Local)變量:它存在于函數(shù)空間內(nèi)部的中間變量,產(chǎn)生于該函數(shù)的運(yùn)行過(guò)程中,其影響范圍也僅限于該函數(shù)本身。全局(Global)變量:通過(guò)global指令,MATLAB也允許幾個(gè)不同的函數(shù)空間以及基本工作空間共享同一個(gè)變量,這種被共享的變量稱(chēng)為全局變量。2.2.2函數(shù)調(diào)用在MATLAB中,調(diào)用函數(shù)的常用形式是:[輸出參數(shù)1,輸出參數(shù)2,…]=函數(shù)名(輸入?yún)?shù)1,輸入?yún)?shù)2,…)函數(shù)調(diào)用可以嵌套,一個(gè)函數(shù)可以調(diào)用別的函數(shù),甚至調(diào)用它自己(遞歸調(diào)用)。52.2函數(shù)調(diào)用和參數(shù)傳遞(續(xù))2.2.3參數(shù)傳遞MATLAB在函數(shù)調(diào)用上有一個(gè)與眾不同之處:函數(shù)所傳遞的參數(shù)具有可調(diào)性。傳遞參數(shù)數(shù)目的可調(diào)性來(lái)源于如下兩個(gè)MATLAB永久變量:函數(shù)體內(nèi)的nargin
給出調(diào)用該函數(shù)時(shí)的輸入?yún)?shù)數(shù)目。函數(shù)體內(nèi)的nargout
給出調(diào)用該函數(shù)時(shí)的輸出參數(shù)數(shù)目。只要在函數(shù)文件中包括這兩個(gè)變量,就可以知道該函數(shù)文件調(diào)用時(shí)的輸入?yún)?shù)和輸出參數(shù)數(shù)目。值得注意:nargin、nargout
本身都是函數(shù),不是變量,所以用戶(hù)不能賦值,也不能顯示。(參考:circle.m,am1.m)62.3MATLAB的程序結(jié)構(gòu)和控制流2.3.1程序結(jié)構(gòu)循環(huán)結(jié)構(gòu):MATLAB提供兩種循環(huán)方式。順序結(jié)構(gòu)分支結(jié)構(gòu):if—else—end。for—end循環(huán)和while---end循環(huán)。2.3.2程序流控制常用指令:return,echo,input,pause,keyboard,break。switch---case結(jié)構(gòu)。try---catch結(jié)構(gòu)。腳本文件(ScriptFile)警示指令:error,warning。72.3MATLAB的程序結(jié)構(gòu)和控制流(續(xù))2.3.3圖形用戶(hù)界面(GUI)編程現(xiàn)代的主流應(yīng)用程序已經(jīng)從命令行的交互方式轉(zhuǎn)變?yōu)橐詧D形界面為主的交互方式,這主要是由于它給用戶(hù)帶來(lái)了操作和控制的方便與靈活性。(面向?qū)ο缶幊蹋㎝ATLAB能夠以比較簡(jiǎn)單的方式實(shí)現(xiàn)一系列的圖形界面功能。通過(guò)對(duì)控件、菜單屬性的設(shè)置和
Callback的編寫(xiě),就能夠滿足大多數(shù)用戶(hù)的需求。
控件的Callback屬性:Callback屬性的取值是字符串,可以是某個(gè)M文件名或一小段MATLAB語(yǔ)句。當(dāng)用戶(hù)激活控件對(duì)象(例如:在控件對(duì)象圖標(biāo)上單擊鼠標(biāo)左鍵)時(shí),應(yīng)用程序就運(yùn)行Callback屬性定義的子程序。
菜單的Callback屬性:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療大數(shù)據(jù)管理隱私保護(hù)法規(guī)的解讀與實(shí)施
- 醫(yī)療行業(yè)創(chuàng)新方向?qū)υ捠郊夹g(shù)在診療中的運(yùn)用
- 醫(yī)療信息技術(shù)在商業(yè)保險(xiǎn)中的價(jià)值挖掘
- 醫(yī)院信息化建設(shè)與流程優(yōu)化探討
- 銷(xiāo)售人員活動(dòng)總結(jié)
- 醫(yī)用廢物處理及環(huán)保安全規(guī)范
- 帕金森病(早發(fā)型青年型)的臨床護(hù)理
- 2025年小學(xué)教師教育技術(shù)能力培訓(xùn)總結(jié)模版
- 2025年春季預(yù)防性試驗(yàn)工作總結(jié)模版
- 義齒公司員工合同范例
- 【高中物理競(jìng)賽專(zhuān)題大全】競(jìng)賽專(zhuān)題1力學(xué)50題競(jìng)賽真題強(qiáng)化訓(xùn)練解析版
- 北師大版高中英語(yǔ)選擇性必修四全冊(cè)課文及翻譯(中英文Word)
- 《2023中國(guó)會(huì)議統(tǒng)計(jì)分析報(bào)告》
- 上消化道出血病人的護(hù)理
- The three wishes課外閱讀故事(說(shuō)課稿)-2022-2023學(xué)年英語(yǔ)五年級(jí)上冊(cè)
- SHL7.0-1.09570-AⅡ熱水鍋爐設(shè)計(jì)-畢業(yè)論文
- 《伊利乳業(yè)集團(tuán)企業(yè)內(nèi)部審計(jì)存在的問(wèn)題及優(yōu)化對(duì)策分析案例(論文)10000字》
- DB65T 2283-2005新疆平原楊樹(shù)人工林二元立木材積表
- 生產(chǎn)過(guò)程時(shí)間組織教材
- 2023年副主任醫(yī)師(副高)-急診醫(yī)學(xué)(副高)考試歷年高頻考點(diǎn)真題附帶含答案
- 三晶8000B系列變頻器說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論