版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Matlab 編程入門(一)Matlab 編程入門編程入門q Matlab 編程簡介u Matlab 作為一種廣泛應用于科學計算的工具軟件,不僅具有強大的數值計算、符號計算、矩陣運算能力和豐富的繪圖功能,同時也具有和 C、FORTRAN 等高級語言一樣進行程序設計。u 在 Matlab 程序設計中,可以充分利用 Matlab 數據結構的特點,提高編程效率。u 利用 Matlab 的程序控制功能,可以將有關 Matlab 命令編成程序存儲在一個文件中(M 文件),然后在命令窗口中運行該文件,Matlab 就會自動依次執(zhí)行文件中的命令,直到全部命令執(zhí)行完畢。q 用 Matlab 語言編寫的程序稱為
2、 M 文件。q M 文件是由若干 Matlab 命令組合在一起構成的,它可以完成某些操作,也可以實現某種算法。事實上,Matlab 提供的內部函數以及各種工具箱,都是利用 Matlab 語言開發(fā)的 M 文件。用戶也可以結合自己的工作需要,開發(fā)自己的程序或工具箱。q M 文件根據調用方式的不同可以分為兩類:u Script:腳本文件/命令文件 沒有輸入參數,沒有輸入參數,也不返回輸出參數,也稱為腳本文件。也不返回輸出參數,也稱為腳本文件。 u Function:函數文件可以輸入參數,也可返可以輸入參數,也可返回輸出參數。回輸出參數。 M 文件文件q M 文件以 .m 為擴展名。命令文件命令文件
3、對于一些比較簡單的問題對于一些比較簡單的問題 ,在指令窗中,在指令窗中直接輸入指令直接輸入指令計算計算 。 對于復雜計算,采用對于復雜計算,采用命令文件命令文件最為合適最為合適 。 MATLAB只是按文件所寫的指令執(zhí)行只是按文件所寫的指令執(zhí)行 。 命令文件的特點是:命令文件的特點是:命令文件的構成比較簡單,只是一串按用戶意圖排列而命令文件的構成比較簡單,只是一串按用戶意圖排列而成的成的MATLAB指令集合。指令集合。命令文件運行后命令文件運行后 ,所產生的所有變量都駐留在,所產生的所有變量都駐留在 MATLAB基本工作空間基本工作空間(Base workspace)中,)中,而且,而且,所產生
4、的所有變量均為全局變量,所產生的所有變量均為全局變量, 只要用戶不使用清除只要用戶不使用清除指令(指令(clear),), MATLAB指令窗不關閉,這些變量將指令窗不關閉,這些變量將一直保存在一直保存在基本工作空間基本工作空間中。中。函數文件函數文件 與腳本文件不同與腳本文件不同 ,函數文件猶如一個,函數文件猶如一個“黑箱黑箱”,把一些數,把一些數據送進并經加工處理,再把結果送出來。據送進并經加工處理,再把結果送出來。 MATLAB提供的函數指令大部分都是由函數文件定義的。提供的函數指令大部分都是由函數文件定義的。 函數文件的特點是:函數文件的特點是: 從形式上看從形式上看 ,與腳本文件不同
5、,與腳本文件不同 ,函數文件的笫一行總是,函數文件的笫一行總是以以 “function”引導的引導的“函數申明行函數申明行”。從運行上看從運行上看 ,與腳本文件運行不同,與腳本文件運行不同 ,每當函數文件運行,每當函數文件運行, MATLAB就會專門為它開辟一個臨時工作空間,稱為就會專門為它開辟一個臨時工作空間,稱為函數函數工作空間工作空間( Function workspace) 。當執(zhí)行文件最后。當執(zhí)行文件最后一條指令時一條指令時 ,就結束該函數文件的運行,同時該臨時函數,就結束該函數文件的運行,同時該臨時函數空間及其所有的中間變量就立即被清除??臻g及其所有的中間變量就立即被清除。 MAT
6、LAB允許使用比允許使用比 “標稱數目標稱數目 ”較少的輸入輸出變量,較少的輸入輸出變量,實現對函數的調用實現對函數的調用 。q M 文件是一個文本文件,可以用任何文本編輯器來建立和編輯,通常使用 Matlab 自帶的 M 文件編輯器。M 文件的建立與打開文件的建立與打開q 新建一個 M 文件u 菜單操作 ( File New M-File )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 )q 打開已有的 M 文件u 菜單操作 ( File Open )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 ) 雙擊 M 文件 u 在命令窗口中輸入 f2cs,
7、即可執(zhí)行該 M 文件。5(32)9cf例:編寫一個命令文件將 f 轉化為c命令文件舉例命令文件舉例clear; % 清除當前工作空間中的變量f=input(Please input f:);c=5*(f-32)/9;fprintf(c is %gn,c);u 新建一個 M 文件 f2cs.m,內容如下:腳本文件運行后,文件中所產生的所有變量都駐所有變量都駐留在留在 Matlab 當前工作空間當前工作空間,可以用 whos 查看。關系運算關系運算小于小于大于大于=大于等于大于等于=等于等于=不等于不等于l 比較大小,如果結論是 真真 則返回 1 ,否則返回 0l 注意 = 與 = 的區(qū)別l 關系
8、操作符能用來比較兩個標量,或兩個同樣大小的數組,或用來比較一個數組和一個標量q 關系關系運算符運算符n關系運算符的運算法則為:關系運算符的運算法則為:n(1) 當兩個比較量是當兩個比較量是標量標量時,時,直接比較直接比較兩數的大小。若兩數的大小。若關系關系成立成立,關系表達式結果為,關系表達式結果為1,否則為,否則為0。n(2) 當參與比較的量是兩個當參與比較的量是兩個維數相同維數相同的矩陣時,比較是的矩陣時,比較是對兩矩陣相同位置的元素按標量關系運算規(guī)則逐個進行,對兩矩陣相同位置的元素按標量關系運算規(guī)則逐個進行,并給出元素比較結果。最終的關系運算的并給出元素比較結果。最終的關系運算的結果是一
9、個維結果是一個維數與原矩陣相同的矩陣數與原矩陣相同的矩陣,它的元素由,它的元素由0或或1組成。組成。 n (3) 當參與比較的一個是標量,而另一個是矩陣時,則當參與比較的一個是標量,而另一個是矩陣時,則把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比把標量與矩陣的每一個元素按標量關系運算規(guī)則逐個比較,并給出元素比較結果。最終的關系運算的較,并給出元素比較結果。最終的關系運算的結果是一結果是一個維數與原矩陣相同的矩陣個維數與原矩陣相同的矩陣,它的元素由,它的元素由0或或1組成。組成。關系運算關系運算例:例:關系運算關系運算舉例舉例 2+2=4 23 A=1 3 5; 2 0 6; B=3 1 0
10、; 2 4 6; A=B x=5 0; 4 2; x B=1 2 3; 4 5 6; 7 8 9; disp(B)數據輸出數據輸出 dispu 數據的輸出:disp A=Hello,Tom !; disp(A)例:例:數據輸出數據輸出 fprintffprintf(fid,format,variables)按指定的格式將變量的值輸出到指定的文件u 數據的輸出:fprintfl fid 為文件句柄,若缺省,則將變量的值輸出到屏幕上l format 用來指定數據輸出時采用的格式,常見的有 %d ( 整數整數 ) %e (實數:采用科學計數法形式實數:采用科學計數法形式 ) %f (實數:采用浮點數
11、形式實數:采用浮點數形式) %g ( 由系統(tǒng)自動選取上述兩種格式之一由系統(tǒng)自動選取上述兩種格式之一) %s ( 輸出字符串輸出字符串) l format 中還可以使用一些特殊格式,如:n ( 換行換行 ) b ( 退格退格 ) ( 反斜桿反斜桿 ) % ( 百分號百分號 ) 數據輸出數據輸出 fprintf a=Hello; b=2.4; c=100*pi; fprintf(a=%s,b=%f,c=%en,a,b,c)例:例:l format 中的輸出格式要與輸出變量一一對應l 可以沒有輸出變量 fprintf( Today is Mondayn)例:例:pauseu 程序的暫停:pausep
12、ause 或或 pause(n)若想強行終止程序的運行,可以使用 Ctrl+c其中 n 是延遲時間,以秒為單位;若缺省,則將暫停程序,直到用戶按任意鍵后繼續(xù)l pause off 屏蔽程序中所有屏蔽程序中所有 pause 的作用的作用l pause on 打開打開 pause 的作用的作用選擇結構選擇結構 是根據給定的條件成立或不成立,分別執(zhí)行不同的語句。Matlab 用于實現選擇結構的語句有 if 語句和 switch 語句。選擇結構選擇結構l 單分支結構if expression (條件)條件) statements (語句組)語句組)endif 條件語句條件語句if expression
13、 (條件)條件) statements1(語句組語句組1)else statements2(語句組語句組2)endl 雙分支結構if expression1 (條件1) statements1(語句組1)elseif expression2 (條件2) statements2(語句組2) . . elseif expressionm (條件m) statementsm(語句組m)else statements(語句組)endl 多分支結構if 條件語句條件語句n例例 輸入三角形的三條邊,利用海倫公式求面積。輸入三角形的三條邊,利用海倫公式求面積。 程序:程序: A=input(請輸入三角形的三
14、條邊:請輸入三角形的三條邊:); if A(1)+A(2)A(3) & A(1)+A(3)A(2) & A(2)+A(3)A(1) p=(A(1)+A(2)+A(3)/2; s=sqrt(p*(p-A(1)*(p-A(2)*(p-A(3); disp(s); else disp(不能構成一個三角形。不能構成一個三角形。) end程序示例程序示例()()() ()/ 2)SP Pa Pb PcPabc 運行:運行: 請輸入三角形的三條邊:請輸入三角形的三條邊:4 5 6 9.9216l 根據表達式的不同取值,分別執(zhí)行不同的語句。switch expression (表達式)表達式
15、) case value1 (表達式表達式1) statement1(語句組語句組1) case value2 (表達式表達式2) statement2(語句組語句組2) . . case valuem (表達式表達式m) statementm(語句組語句組m) otherwise statement (語句組)語句組)endswitch 語句語句l Matlab 首先計算 expression 的值,然后將它依次與各個 case 指令后的檢測值進行比較,當比較結果為真時,就執(zhí)行相應的語句組,然后跳出 switch 結構。l switch 后面的表達式 expression 的值可以是一個標量或字符串。switch 語句語句l otherwise 指令可以不出現。l 如果所有的比較結果都為假,則執(zhí)行 otherwise 后面的語句組,然后跳出 switch 結構。n例例 某商場對顧客所購買的商品實行打折銷某商場對顧客所購買的商品實行打折銷售,標準如下售,標準如下(商品價格用商品
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年河南省焦作市公開招聘警務輔助人員輔警筆試自考題2卷含答案
- 集團年度會議主持稿
- 新疆克孜勒蘇柯爾克孜自治州(2024年-2025年小學六年級語文)統(tǒng)編版開學考試(上學期)試卷及答案
- 2025年電子油門踏板項目提案報告
- 2025年法規(guī)毒理學試驗服務項目立項申請報告模范
- 2025年新型船用氣象儀器項目申請報告
- 2025年溫度校驗儀表項目規(guī)劃申請報告模式
- 物業(yè)管理工程抵押借款協議書
- 養(yǎng)殖場獸醫(yī)勞動合同樣本
- 2024年銠膦絡合催化劑BC-2-007項目投資申請報告
- 微型頂管施工方案
- 湘教文藝版小學五年級音樂上冊期末測試題
- 老化箱點檢表A4版本
- 略說魯迅全集的五種版本
- 2022年110接警員業(yè)務測試題庫及答案
- 中聯16T吊車參數
- DB44∕T 115-2000 中央空調循環(huán)水及循環(huán)冷卻水水質標準
- 嵌入式軟件架構設計
- 《石油天然氣地質與勘探》第3章儲集層和蓋層
- 航道整治課程設計--
- 超星爾雅學習通《科學計算與MATLAB語言》章節(jié)測試含答案
評論
0/150
提交評論