輸入輸出-暫停-switch_第1頁(yè)
輸入輸出-暫停-switch_第2頁(yè)
輸入輸出-暫停-switch_第3頁(yè)
輸入輸出-暫停-switch_第4頁(yè)
輸入輸出-暫停-switch_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Matlab 編程入門(mén)(一)Matlab 編程入門(mén)編程入門(mén)q Matlab 編程簡(jiǎn)介u Matlab 作為一種廣泛應(yīng)用于科學(xué)計(jì)算的工具軟件,不僅具有強(qiáng)大的數(shù)值計(jì)算、符號(hào)計(jì)算、矩陣運(yùn)算能力和豐富的繪圖功能,同時(shí)也具有和 C、FORTRAN 等高級(jí)語(yǔ)言一樣進(jìn)行程序設(shè)計(jì)。u 在 Matlab 程序設(shè)計(jì)中,可以充分利用 Matlab 數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),提高編程效率。u 利用 Matlab 的程序控制功能,可以將有關(guān) Matlab 命令編成程序存儲(chǔ)在一個(gè)文件中(M 文件),然后在命令窗口中運(yùn)行該文件,Matlab 就會(huì)自動(dòng)依次執(zhí)行文件中的命令,直到全部命令執(zhí)行完畢。q 用 Matlab 語(yǔ)言編寫(xiě)的程序稱為

2、 M 文件。q M 文件是由若干 Matlab 命令組合在一起構(gòu)成的,它可以完成某些操作,也可以實(shí)現(xiàn)某種算法。事實(shí)上,Matlab 提供的內(nèi)部函數(shù)以及各種工具箱,都是利用 Matlab 語(yǔ)言開(kāi)發(fā)的 M 文件。用戶也可以結(jié)合自己的工作需要,開(kāi)發(fā)自己的程序或工具箱。q M 文件根據(jù)調(diào)用方式的不同可以分為兩類:u Script:腳本文件/命令文件 沒(méi)有輸入?yún)?shù),沒(méi)有輸入?yún)?shù),也不返回輸出參數(shù),也稱為腳本文件。也不返回輸出參數(shù),也稱為腳本文件。 u Function:函數(shù)文件可以輸入?yún)?shù),也可返可以輸入?yún)?shù),也可返回輸出參數(shù)。回輸出參數(shù)。 M 文件文件q M 文件以 .m 為擴(kuò)展名。命令文件命令文件

3、對(duì)于一些比較簡(jiǎn)單的問(wèn)題對(duì)于一些比較簡(jiǎn)單的問(wèn)題 ,在指令窗中,在指令窗中直接輸入指令直接輸入指令計(jì)算計(jì)算 。 對(duì)于復(fù)雜計(jì)算,采用對(duì)于復(fù)雜計(jì)算,采用命令文件命令文件最為合適最為合適 。 MATLAB只是按文件所寫(xiě)的指令執(zhí)行只是按文件所寫(xiě)的指令執(zhí)行 。 命令文件的特點(diǎn)是:命令文件的特點(diǎn)是:命令文件的構(gòu)成比較簡(jiǎn)單,只是一串按用戶意圖排列而命令文件的構(gòu)成比較簡(jiǎn)單,只是一串按用戶意圖排列而成的成的MATLAB指令集合。指令集合。命令文件運(yùn)行后命令文件運(yùn)行后 ,所產(chǎn)生的所有變量都駐留在,所產(chǎn)生的所有變量都駐留在 MATLAB基本工作空間基本工作空間(Base workspace)中,)中,而且,而且,所產(chǎn)生

4、的所有變量均為全局變量,所產(chǎn)生的所有變量均為全局變量, 只要用戶不使用清除只要用戶不使用清除指令(指令(clear),), MATLAB指令窗不關(guān)閉,這些變量將指令窗不關(guān)閉,這些變量將一直保存在一直保存在基本工作空間基本工作空間中。中。函數(shù)文件函數(shù)文件 與腳本文件不同與腳本文件不同 ,函數(shù)文件猶如一個(gè),函數(shù)文件猶如一個(gè)“黑箱黑箱”,把一些數(shù),把一些數(shù)據(jù)送進(jìn)并經(jīng)加工處理,再把結(jié)果送出來(lái)。據(jù)送進(jìn)并經(jīng)加工處理,再把結(jié)果送出來(lái)。 MATLAB提供的函數(shù)指令大部分都是由函數(shù)文件定義的。提供的函數(shù)指令大部分都是由函數(shù)文件定義的。 函數(shù)文件的特點(diǎn)是:函數(shù)文件的特點(diǎn)是: 從形式上看從形式上看 ,與腳本文件不同

5、,與腳本文件不同 ,函數(shù)文件的笫一行總是,函數(shù)文件的笫一行總是以以 “function”引導(dǎo)的引導(dǎo)的“函數(shù)申明行函數(shù)申明行”。從運(yùn)行上看從運(yùn)行上看 ,與腳本文件運(yùn)行不同,與腳本文件運(yùn)行不同 ,每當(dāng)函數(shù)文件運(yùn)行,每當(dāng)函數(shù)文件運(yùn)行, MATLAB就會(huì)專門(mén)為它開(kāi)辟一個(gè)臨時(shí)工作空間,稱為就會(huì)專門(mén)為它開(kāi)辟一個(gè)臨時(shí)工作空間,稱為函數(shù)函數(shù)工作空間工作空間( Function workspace) 。當(dāng)執(zhí)行文件最后。當(dāng)執(zhí)行文件最后一條指令時(shí)一條指令時(shí) ,就結(jié)束該函數(shù)文件的運(yùn)行,同時(shí)該臨時(shí)函數(shù),就結(jié)束該函數(shù)文件的運(yùn)行,同時(shí)該臨時(shí)函數(shù)空間及其所有的中間變量就立即被清除??臻g及其所有的中間變量就立即被清除。 MAT

6、LAB允許使用比允許使用比 “標(biāo)稱數(shù)目標(biāo)稱數(shù)目 ”較少的輸入輸出變量,較少的輸入輸出變量,實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用 。q M 文件是一個(gè)文本文件,可以用任何文本編輯器來(lái)建立和編輯,通常使用 Matlab 自帶的 M 文件編輯器。M 文件的建立與打開(kāi)文件的建立與打開(kāi)q 新建一個(gè) M 文件u 菜單操作 ( File New M-File )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 )q 打開(kāi)已有的 M 文件u 菜單操作 ( File Open )u 命令操作 ( edit M 文件名 )u 命令按鈕 ( 快捷鍵 ) 雙擊 M 文件 u 在命令窗口中輸入 f2cs,

7、即可執(zhí)行該 M 文件。5(32)9cf例:編寫(xiě)一個(gè)命令文件將 f 轉(zhuǎn)化為c命令文件舉例命令文件舉例clear; % 清除當(dāng)前工作空間中的變量f=input(Please input f:);c=5*(f-32)/9;fprintf(c is %gn,c);u 新建一個(gè) M 文件 f2cs.m,內(nèi)容如下:腳本文件運(yùn)行后,文件中所產(chǎn)生的所有變量都駐所有變量都駐留在留在 Matlab 當(dāng)前工作空間當(dāng)前工作空間,可以用 whos 查看。關(guān)系運(yùn)算關(guān)系運(yùn)算小于小于大于大于=大于等于大于等于=等于等于=不等于不等于l 比較大小,如果結(jié)論是 真真 則返回 1 ,否則返回 0l 注意 = 與 = 的區(qū)別l 關(guān)系

8、操作符能用來(lái)比較兩個(gè)標(biāo)量,或兩個(gè)同樣大小的數(shù)組,或用來(lái)比較一個(gè)數(shù)組和一個(gè)標(biāo)量q 關(guān)系關(guān)系運(yùn)算符運(yùn)算符n關(guān)系運(yùn)算符的運(yùn)算法則為:關(guān)系運(yùn)算符的運(yùn)算法則為:n(1) 當(dāng)兩個(gè)比較量是當(dāng)兩個(gè)比較量是標(biāo)量標(biāo)量時(shí),時(shí),直接比較直接比較兩數(shù)的大小。若兩數(shù)的大小。若關(guān)系關(guān)系成立成立,關(guān)系表達(dá)式結(jié)果為,關(guān)系表達(dá)式結(jié)果為1,否則為,否則為0。n(2) 當(dāng)參與比較的量是兩個(gè)當(dāng)參與比較的量是兩個(gè)維數(shù)相同維數(shù)相同的矩陣時(shí),比較是的矩陣時(shí),比較是對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一

9、個(gè)維結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣數(shù)與原矩陣相同的矩陣,它的元素由,它的元素由0或或1組成。組成。 n (3) 當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),則當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由,它的元素由0或或1組成。組成。關(guān)系運(yùn)算關(guān)系運(yùn)算例:例:關(guān)系運(yùn)算關(guān)系運(yùn)算舉例舉例 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)數(shù)據(jù)輸出數(shù)據(jù)輸出 dispu 數(shù)據(jù)的輸出:disp A=Hello,Tom !; disp(A)例:例:數(shù)據(jù)輸出數(shù)據(jù)輸出 fprintffprintf(fid,format,variables)按指定的格式將變量的值輸出到指定的文件u 數(shù)據(jù)的輸出:fprintfl fid 為文件句柄,若缺省,則將變量的值輸出到屏幕上l format 用來(lái)指定數(shù)據(jù)輸出時(shí)采用的格式,常見(jiàn)的有 %d ( 整數(shù)整數(shù) ) %e (實(shí)數(shù):采用科學(xué)計(jì)數(shù)法形式實(shí)數(shù):采用科學(xué)計(jì)數(shù)法形式 ) %f (實(shí)數(shù):采用浮點(diǎn)數(shù)

11、形式實(shí)數(shù):采用浮點(diǎn)數(shù)形式) %g ( 由系統(tǒng)自動(dòng)選取上述兩種格式之一由系統(tǒng)自動(dòng)選取上述兩種格式之一) %s ( 輸出字符串輸出字符串) l format 中還可以使用一些特殊格式,如:n ( 換行換行 ) b ( 退格退格 ) ( 反斜桿反斜桿 ) % ( 百分號(hào)百分號(hào) ) 數(shù)據(jù)輸出數(shù)據(jù)輸出 fprintf a=Hello; b=2.4; c=100*pi; fprintf(a=%s,b=%f,c=%en,a,b,c)例:例:l format 中的輸出格式要與輸出變量一一對(duì)應(yīng)l 可以沒(méi)有輸出變量 fprintf( Today is Mondayn)例:例:pauseu 程序的暫停:pausep

12、ause 或或 pause(n)若想強(qiáng)行終止程序的運(yùn)行,可以使用 Ctrl+c其中 n 是延遲時(shí)間,以秒為單位;若缺省,則將暫停程序,直到用戶按任意鍵后繼續(xù)l pause off 屏蔽程序中所有屏蔽程序中所有 pause 的作用的作用l pause on 打開(kāi)打開(kāi) pause 的作用的作用選擇結(jié)構(gòu)選擇結(jié)構(gòu) 是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語(yǔ)句。Matlab 用于實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有 if 語(yǔ)句和 switch 語(yǔ)句。選擇結(jié)構(gòu)選擇結(jié)構(gòu)l 單分支結(jié)構(gòu)if expression (條件)條件) statements (語(yǔ)句組)語(yǔ)句組)endif 條件語(yǔ)句條件語(yǔ)句if expression

13、 (條件)條件) statements1(語(yǔ)句組語(yǔ)句組1)else statements2(語(yǔ)句組語(yǔ)句組2)endl 雙分支結(jié)構(gòu)if expression1 (條件1) statements1(語(yǔ)句組1)elseif expression2 (條件2) statements2(語(yǔ)句組2) . . elseif expressionm (條件m) statementsm(語(yǔ)句組m)else statements(語(yǔ)句組)endl 多分支結(jié)構(gòu)if 條件語(yǔ)句條件語(yǔ)句n例例 輸入三角形的三條邊,利用海倫公式求面積。輸入三角形的三條邊,利用海倫公式求面積。 程序:程序: A=input(請(qǐng)輸入三角形的三

14、條邊:請(qǐng)輸入三角形的三條邊:); 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(不能構(gòu)成一個(gè)三角形。不能構(gòu)成一個(gè)三角形。) end程序示例程序示例()()() ()/ 2)SP Pa Pb PcPabc 運(yùn)行:運(yùn)行: 請(qǐng)輸入三角形的三條邊:請(qǐng)輸入三角形的三條邊:4 5 6 9.9216l 根據(jù)表達(dá)式的不同取值,分別執(zhí)行不同的語(yǔ)句。switch expression (表達(dá)式)表達(dá)式

15、) case value1 (表達(dá)式表達(dá)式1) statement1(語(yǔ)句組語(yǔ)句組1) case value2 (表達(dá)式表達(dá)式2) statement2(語(yǔ)句組語(yǔ)句組2) . . case valuem (表達(dá)式表達(dá)式m) statementm(語(yǔ)句組語(yǔ)句組m) otherwise statement (語(yǔ)句組)語(yǔ)句組)endswitch 語(yǔ)句語(yǔ)句l Matlab 首先計(jì)算 expression 的值,然后將它依次與各個(gè) case 指令后的檢測(cè)值進(jìn)行比較,當(dāng)比較結(jié)果為真時(shí),就執(zhí)行相應(yīng)的語(yǔ)句組,然后跳出 switch 結(jié)構(gòu)。l switch 后面的表達(dá)式 expression 的值可以是一個(gè)標(biāo)量或字符串。switch 語(yǔ)句語(yǔ)句l otherwise 指令可以不出現(xiàn)。l 如果所有的比較結(jié)果都為假,則執(zhí)行 otherwise 后面的語(yǔ)句組,然后跳出 switch 結(jié)構(gòu)。n例例 某商場(chǎng)對(duì)顧客所購(gòu)買的商品實(shí)行打折銷某商場(chǎng)對(duì)顧客所購(gòu)買的商品實(shí)行打折銷售,標(biāo)準(zhǔn)如下售,標(biāo)準(zhǔn)如下(商品價(jià)格用商品

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論