版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、M文件和Matlab控制流,腳本文件和函數(shù)文件,M腳本文件,對于一些比較簡單的問題 ,在指令窗中直接輸入指令計算 。,對于復雜計算,采用腳本文件(Script file)最為合適 。,MATLAB只是按文件所寫的指令執(zhí)行 。,M腳本文件的特點是:,腳本文件的構成比較簡單,只是一串按用戶意圖排列而成的(包括控制流向指令在內的)MATLAB指令集合。,腳本文件運行后 ,所產生的所有變量都駐留在 MATLAB基本工作空間(Base workspace)中。只要用戶不使用清除指令(clear), MATLAB指令窗不關閉,這些變量將一直保存在基本工作空間中。,M文件有兩種形式 :腳本文件(Script
2、 File)和函數(shù)文件(Function File )。這兩種文件的擴展名,均為“ . m” 。,腳本文件和函數(shù)文件(續(xù)1) M函數(shù)文件,與腳本文件不同 ,函數(shù)文件猶如一個“黑箱”,把一些數(shù)據(jù)送進并經加工處理,再把結果送出來。,MATLAB提供的函數(shù)指令大部分都是由函數(shù)文件定義的。,M函數(shù)文件的特點:,從形式上看 ,與腳本文件不同 ,函數(shù)文件的笫一行總是以 “function”引導的“函數(shù)申明行”。,從運行上看 ,與腳本文件運行不同 ,每當函數(shù)文件運行, MATLAB就會專門為它開辟一個臨時工作空間,稱為函數(shù)工作空間( Function workspace) 。當執(zhí)行文件最后一條指令時 ,就結
3、束該函數(shù)文件的運行,同時該臨時函數(shù)空間及其所有的中間變量就立即被清除。,腳本文件和函數(shù)文件(續(xù)2) M文件的一般結構,由于從結構上看 ,腳本文件只是比函數(shù)文件少一個“函數(shù)申明行”,所以只須描述清楚函數(shù)文件的結構 。,典型 M函數(shù)文件的結構如下 :,函數(shù)申明行:位于函數(shù)文件的首行,以關鍵字 function 開頭,函數(shù)名以及函數(shù)的輸入輸出宗量都在這一行被定義。,笫一注釋行:緊隨函數(shù)申明行之后以%開頭笫一注釋行。該行供lookfor關鍵詞查詢和 help在線幫助使用 。,在線幫助文本區(qū) :笫一注釋行及其之后的連續(xù)以%開頭的所有注釋行構成整個在線幫助文本。,編寫和修改記錄:與在線幫助文本區(qū)相隔一個“
4、空”行,也以%開頭,標志編寫及修改該M文件的作者和日期等 。,函數(shù)體:為清晰起見,它與前面的注釋以“空”行相隔。,1、在Matlab指令窗口運行指令 edit,2、點擊Matlab工具條上的new_M-file圖標,3、依次點擊FileNEWM-file,4、在Command history 窗口中選一些命令行點鼠標右鍵選 Create M-file,創(chuàng)建新M文件的幾種方法,打開M文件的方法,在指令窗中運行 edit filename 點擊工具條上的 Open file 圖標 依次點擊菜單 FileOpen 使用快捷鍵 Crtl + O,執(zhí)行M文件的方法,在命令窗口中直接輸入M文件名執(zhí)行,在當
5、前目錄瀏覽器中右鍵點擊要運行的文件,選run,在M文件編輯器中點debug菜單run,Matlab控制流,for 循環(huán)結構 while循環(huán)結構 If - else - end 分支結構 Switch case 結構 try catch 結構,for 循環(huán)結構,For x = “一組數(shù)” (command) end,例如: for x = 1 : 10 ; % x 依次取1,2,3,10 y(x) = x; % 對每個x值,重復執(zhí)行此循環(huán)體 end ;,For循環(huán)中應該注意的,循環(huán)不會因為在循環(huán)體內對循環(huán)變量重新賦值而中斷 For后面跟的數(shù)組可以為任何合法的數(shù)組 循環(huán)可以嵌套 提高代碼的效率盡量
6、避免使用循環(huán)結構 盡量不要使用 i 和 j 作為循環(huán)變量。,while循環(huán)結構,While expression %表達式 (command) end,expression 如果為邏輯真就執(zhí)行command命令組,while循環(huán)結構,例:fibonacci (斐波納契數(shù)列)數(shù)組滿足fibonacci 規(guī)則: a k+2 = a k + a k+1 (k=1,2,) ; 且a1=a2=1 現(xiàn)要求出該數(shù)組第一個大于10000的元素。,例:fibonacci 數(shù)組滿足fibonacci 規(guī)則:a k+2 = a k + a k+1 (k=1,2,) ;且a1=a2=1現(xiàn)要求出該數(shù)組第一個大于1000
7、0的元素。,a(1)=1;a(2)=1;i=2; while a(i)=10000 a(i+1)=a(i-1)+a(i); i=i+1; end; i,a(i),關于while循環(huán)結構的一些說明,與for循環(huán)的區(qū)別在于while循環(huán)執(zhí)行的次數(shù)不確定 一般情況下表達式的值都是標量值,但也允許是數(shù)組,但只有數(shù)組所有元素為真時才會執(zhí)行循環(huán)體 如果while指令后的表達式是空數(shù)組,Matlab會認為表達式之為假而不執(zhí)行循環(huán)體,If - else - end 分支結構,If-case-end分支結構常見的使用方式,判斷條件expression為一個空數(shù)組,為假(false),另外我們可以用if判斷語句和
8、break指令配合使用強行終止for循環(huán)和while循環(huán),例:用for循環(huán)尋找fibonacc數(shù)組中第一個大于10000的元素,n=100 ; a= ones(1,n) ;%把一維數(shù)組a全部賦1 for i = 3 :n a(i)=a(i-1)+a(i-2); if a(i) = 10000 a(i), break; end; end,i,Switch case 結構,Switch ex % ex為一組標量或字符串 case test1 (command1) case testk (commandk) otherwise %此指令可以不存在 (commands) %不等于前面所有值執(zhí)行此組指令 end,try catc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 該制度的程序實現(xiàn)主要依賴于民事訴訟法中的行為保全制度
- 計生四項制度
- 供水稽查員春節(jié)假期安全告知書
- 2026福建省汽車工業(yè)集團有限公司招聘160人參考考試題庫附答案解析
- 2026廣東廣州銀行信用卡中心特殊資產部副職招聘1人參考考試試題附答案解析
- 2026天津南開區(qū)教育系統(tǒng)招聘(含高層次人才)170人備考考試試題附答案解析
- 2026廣西柳州市第一批就業(yè)見習崗位招募128人參考考試試題附答案解析
- 2026年上半年黑龍江省體育局事業(yè)單位公開招聘工作人員13人備考考試試題附答案解析
- 2026年上半年黑龍江省事業(yè)單位公開招聘(4254人)備考考試題庫附答案解析
- 2026公安部第三研究所招聘人民警察24人參考考試題庫附答案解析
- 2026陜西氫能產業(yè)發(fā)展有限公司所屬單位招聘(29人)備考題庫附答案
- 特發(fā)性肺纖維化個體化治療中的營養(yǎng)支持策略
- 2026年度黑龍江省生態(tài)環(huán)境廳所屬事業(yè)單位公開招聘工作人員57人考試參考試題及答案解析
- (2025年)鐵路行車組織培訓考試題附答案
- 血液儲存和出入庫管理制度
- 2025年兩種人考試題庫附答案
- 貴州省貴陽市2024-2025學年高一上學期期末監(jiān)測物理試卷(含解析)
- 稅收說理式執(zhí)法課件
- 2026年鄭州鐵路職業(yè)技術學院單招職業(yè)適應性測試模擬測試卷附答案
- 揚州市廣陵區(qū)2025年網格員考試題庫及答案
- 化工廠安全教育題庫試題和答案(教學資料)
評論
0/150
提交評論