




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二講MATLAB的
2.1腳本文件和函數文件2.2函數調用和參數傳遞2.3MATLAB的程序結構和控制流2.4M文件的調試程序設計12.1腳本文件和函數文件2.1.1M腳本文件對于一些比較簡單的問題,在指令窗中直接輸入指令計算。對于復雜計算,采用腳本文件(Scriptfile)最為合適。MATLAB只是按文件所寫的指令執行。M腳本文件的特點是:腳本文件的構成比較簡單,只是一串按用戶意圖排列而成的(包括控制流向指令在內的)MATLAB指令集合。腳本文件運行后,所產生的所有變量都駐留在MATLAB基本工作空間(Baseworkspace)中。只要用戶不使用清除指令(clear),MATLAB指令窗不關閉,這些變量將一直保存在基本工作空間中。M文件有兩種形式:腳本文件(ScriptFile)和函數文件(FunctionFile)。這兩種文件的擴展名,均為“.m”。22.1腳本文件和函數文件(續1)2.1.2M函數文件與腳本文件不同,函數文件猶如一個“黑箱”,把一些數據送進并經加工處理,再把結果送出來。MATLAB提供的函數指令大部分都是由函數文件定義的。M函數文件的特點是:從形式上看,與腳本文件不同,函數文件的笫一行總是以“function”引導的“函數申明行”。從運行上看,與腳本文件運行不同,每當函數文件運行,MATLAB就會專門為它開辟一個臨時工作空間,稱為函數工作空間(Functionworkspace)
。當執行文件最后一條指令時,就結束該函數文件的運行,同時該臨時函數空間及其所有的中間變量就立即被清除。MATLAB允許使用比“標稱數目”較少的輸入輸出宗量,實現對函數的調用。32.1腳本文件和函數文件(續2)2.1.3M文件的一般結構由于從結構上看,腳本文件只是比函數文件少一個“函數申明行”,所以只須描述清楚函數文件的結構。典型M函數文件的結構如下:函數申明行:位于函數文件的首行,以關鍵字functio
開頭,函數名以及函數的輸入輸出宗量都在這一行被定義。笫一注釋行:緊隨函數申明行之后以%開頭笫一注釋行。該行供lookfor關鍵詞查詢和help在線幫助使用。在線幫助文本區:笫一注釋行及其之后的連續以%開頭的所有注釋行構成整個在線幫助文本。編寫和修改記錄:與在線幫助文本區相隔一個“空”行,也以%開頭,標志編寫及修改該M文件的作者和日期等。函數體:為清晰起見,它與前面的注釋以“空”行相隔。例2_2_1:M函數文件示例。42.2函數調用和參數傳遞(續)2.2.3參數傳遞MATLAB在函數調用上有一個與眾不同之處:函數所傳遞的參數具有可調性。傳遞參數數目的可調性來源于如下兩個MATLAB永久變量:函數體內的nargin
給出調用該函數時的輸入參數數目。函數體內的nargout
給出調用該函數時的輸出參數數目。只要在函數文件中包括這兩個變量,就可以知道該函數文件調用時的輸入參數和輸出參數數目。值得注意:nargin、nargout
本身都是函數,不是變量,所以用戶不能賦值,也不能顯示。“變長度”輸入輸出宗量:varargin
、
varrgout。具有接受“任意多輸入”、返回“任意多輸出”的能力??缈臻g變量傳遞:evalin。(參考:circle.m,am1.m)62.3MATLAB的程序結構和控制流2.3.1程序結構循環結構:MATLAB提供兩種循環方式。順序結構分支結構:if—else—end。for—end循環和while---end循環。2.3.2程序流控制常用指令:return,echo,input,pause,keyboard,break。switch---case結構。try---catch結構。警示指令:error,warning。72.3MATLAB的程序結構和控制流(續)2.3.3圖形用戶界面(GUI)編程現代的主流應用程序已經從命令行的交互方式轉變為以圖形界面為主的交互方式,這主要是由于它給用戶帶來了操作和控制的方便與靈活性。(面向對象編程)MATLAB能夠以比較簡單的方式實現一系列的圖形界面功能。通過對控件、菜單屬性的設置和
Callback的編寫,就能夠滿足大多數用戶的需求。
控件的Callback屬性:Callback屬性的取值是字符串,可以是某個M文件名或一小段MATLAB語句。當用戶激活控件對象(例如:在控件對象圖標上單擊鼠標左鍵)時,應用程序就運行Callback屬性定義的子程序。
菜單的Callback屬性:Callback屬性的取值是字符串,可以是某個M文件名或一小段MATLAB語句。當用戶激活菜單對象時,若沒有子菜單就運行Callback屬性定義的子程序。若有,先運行Callback屬性定義的子程序,再顯示子菜單。82.4M文件的調試編寫M文件時,錯誤(Bug)在所難免。錯誤有兩種:語法(Syntax)錯誤和運行(Run-time)錯誤。語法錯誤是指變量名、函數名的誤寫,標點符號的缺、漏等。對于這類錯誤,通常能在運行時發現,終止執行,并給出相應的錯誤原因以及所在行號。運行錯誤是算法本身引起的,發生在運行過程中。相對語法錯誤而言,運行錯誤較難處理。尤其是M函數文件,它一旦運行停止,其中間變量被刪除一空,錯誤很難查找。有兩種調試方法:直接調試法和工具調試法。92.4M文件的調試(續1)直接調試法:可以用下面方法發現某些運行錯誤。在M文件中,將某些語句后面的分號去掉,迫使M文件輸出一些中間計算結果,以便發現可能的錯誤。在適當的位置,添加顯示某些關鍵變量值的語句(包括使用disp
在內)。利用echo指令,使運行時在屏幕上逐行顯示文件內容。echoon能顯示M腳本文件;echoFunNsmeon能顯示名為FunNsme
的M函數文件。在原M腳本或函數文件的適當位置,增添指令keyboard。
keyboard語句可以設置程序的斷點。通過將原M函數文件的函數申明行注釋掉,可使一個中間變量難于觀察的M函數文件變為一個所有變量都保留在基本工作空間中的M腳本文件。102.4M文件的調試(續2)GUI界面調試法:MATLAB5.x版提供了一個基于GUI界面的調試。使用它,可以對函數進行調試。Debug菜單的使用:Continue:恢復程序運行至結束或另一個斷點。SingleStep:單步執行函數。StepIn:深入下層局部工作區。QuitDebugging:退出調試狀態。Set/ClearBreakpoint:設置/清除光標處的斷點。ClearAllBreakpoints:清除程序中的所有斷點。StopifError:運行至出錯或結束。StopifWarning:運行至警告消息或結束。StopifNaNofInf:運行至運算結果出現NaN或Inf。
11M腳本文件入門通過M腳本文件,畫出下列分段函數所表示的曲面。
(s_file.m)12M腳本文件入門(續)%s_file.m Thisismyfirstexample.a=2;b=2; clf;x=-a:0.2:a;y=-b:0.2:b;fori=1:length(y)forj=1:length(x)ifx(j)+y(i)>1z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));elseifx(j)+y(i)<=-1z(i,j)=0.5457*exp(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CARD 038.2-2023輔助器具互聯網基本公共服務平臺第2部分:服務指南
- T/CAPE 11005-2023光伏電站光伏組件清洗技術規范
- 盜取高考試題及答案
- 定量決策考試題及答案
- 安全輿論面試題及答案
- vue面試題題及答案
- 技術專欄面試題及答案
- 廣告運營面試題及答案
- 點評題目面試題及答案
- 財務人員的工作總結
- 國家開放大學電大《水利水電工程建筑物》期末題庫及答案
- 【培訓課件】管理溝通
- 2024-2030年中國外資醫院行業發展現狀及投資管理模式分析報告
- 停車場環境衛生保潔方案
- 管道直飲水項目可行性研究報告
- 《公路橋梁掛籃設計與施工技術指南》
- 期中復習-首字母填空精練100題 2024-2025學年人教版英語八年級上冊
- 臨床富血小板血漿介紹、分類、制備技術及質量控制要點
- 2024年地鐵施工負責人安全考試題庫-判斷題
- 人教版歷史2024年第二學期期末考試七年級歷史試卷(含答案)
- 大藥房《質量管理體系文件》-管理制度
評論
0/150
提交評論