(完整版)Matlab程序設(shè)計_第1頁
(完整版)Matlab程序設(shè)計_第2頁
(完整版)Matlab程序設(shè)計_第3頁
(完整版)Matlab程序設(shè)計_第4頁
(完整版)Matlab程序設(shè)計_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、matlab matlab 程序設(shè)計程序設(shè)計matlab 編程語言的特點編程語言的特點l 程序簡潔程序簡潔l 可讀性很強可讀性很強l 調(diào)試容易調(diào)試容易l 編程效率高編程效率高l 易移植和維護易移植和維護一、一、m m文件文件 用用 matlab 語言編寫的程序,語言編寫的程序,稱為稱為 m文件。文件。m 文件可以根據(jù)文件可以根據(jù)調(diào)用方式的不同分為兩類:調(diào)用方式的不同分為兩類:u 腳本文件腳本文件( (script file) )u 函數(shù)文件函數(shù)文件( (function file) )腳本文件的腳本文件的特點:特點: 它只是一串它只是一串 matlab 指令集合。指令集合。 命令文件運行后,產(chǎn)

2、生的所有變量都駐留在命令文件運行后,產(chǎn)生的所有變量都駐留在 matlab 工作空間(工作空間(workspace)中。只要用)中。只要用戶不使用戶不使用 clear 指令加以清除,只要指令加以清除,只要 matlab 指令窗不關(guān)閉,這些變量將一直保存在工作空指令窗不關(guān)閉,這些變量將一直保存在工作空間中。只有當關(guān)閉間中。只有當關(guān)閉 matlab 時,該空間才被刪時,該空間才被刪除。除。 適用于小規(guī)模運算適用于小規(guī)模運算例例1、建立腳本文件和函數(shù)文件,將華、建立腳本文件和函數(shù)文件,將華 氏溫度氏溫度 f 轉(zhuǎn)換為攝氏溫度轉(zhuǎn)換為攝氏溫度 c,轉(zhuǎn)化公式為,轉(zhuǎn)化公式為腳本文件腳本文件clear; f=in

3、put(請輸入華氏溫度:請輸入華氏溫度:);c=5*(f-32)/9input函數(shù):從鍵盤輸入數(shù)據(jù)并賦給相應(yīng)的變函數(shù):從鍵盤輸入數(shù)據(jù)并賦給相應(yīng)的變 量,調(diào)用格式為:量,調(diào)用格式為: a=input(提示信息,選項提示信息,選項); 其中提示信息為一個字符串,用于提示用戶輸其中提示信息為一個字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。入什么樣的數(shù)據(jù)。 如果在如果在 input 函數(shù)調(diào)用時采用函數(shù)調(diào)用時采用 s 選項,則允選項,則允許用戶輸入一個字符串。例如,想輸入一個人許用戶輸入一個字符串。例如,想輸入一個人的姓名,可采用命令:的姓名,可采用命令:name = input(whats your nam

4、e?,s);編寫編寫 m 文件的注意要點:文件的注意要點: 標點符號的運用要恰到好處標點符號的運用要恰到好處 建立好的書寫風格,保持程序的可讀性建立好的書寫風格,保持程序的可讀性 不要忘記文件的擴展名為不要忘記文件的擴展名為 .m函數(shù)文件函數(shù)文件結(jié)構(gòu)特點結(jié)構(gòu)特點function 輸出形參表輸出形參表=函數(shù)名函數(shù)名(輸入形參表輸入形參表) 注釋說明部分注釋說明部分 函數(shù)體語句函數(shù)體語句以以function開頭的一行為引導行,表示該開頭的一行為引導行,表示該m文文件是一個函數(shù)文件。件是一個函數(shù)文件。函數(shù)名的命名規(guī)則與變量名相同。函數(shù)名的命名規(guī)則與變量名相同。當輸出形參多于一個,則應(yīng)該用方括號括起當

5、輸出形參多于一個,則應(yīng)該用方括號括起來。來。例例2、將例、將例 1 寫成函數(shù)文件的形式寫成函數(shù)文件的形式. function c=f2c(f)% 將華氏溫度轉(zhuǎn)化成攝氏溫度將華氏溫度轉(zhuǎn)化成攝氏溫度c=5*(f-32)/9;注意:把該文件保存在注意:把該文件保存在 work 文件夾下,文件夾下, 并且命名為并且命名為 f2c.m, 而且可以使用而且可以使用 help 找找到該函數(shù)到該函數(shù).函數(shù)文件的注意事項:函數(shù)文件的注意事項:u可以實現(xiàn)參數(shù)傳遞可以實現(xiàn)參數(shù)傳遞 u可以有返回值可以有返回值, ,也可以無返回值也可以無返回值, ,只保留結(jié)果只保留結(jié)果, ,不保留過程不保留過程u 要特別注意文件名與函

6、數(shù)名的一致,命名要特別注意文件名與函數(shù)名的一致,命名時不要和時不要和 matlab 中的內(nèi)部函數(shù)沖突中的內(nèi)部函數(shù)沖突u function 后的語句定義函數(shù)名和輸入輸出后的語句定義函數(shù)名和輸入輸出參數(shù),在函數(shù)調(diào)用過程中將按此輸入輸出格參數(shù),在函數(shù)調(diào)用過程中將按此輸入輸出格式進行式進行u函數(shù)文件中的變量都是局部變量,只在本函函數(shù)文件中的變量都是局部變量,只在本函數(shù)文件中才有效,當函數(shù)文件執(zhí)行完成后,數(shù)文件中才有效,當函數(shù)文件執(zhí)行完成后,這些變量將被清除。這些變量將被清除。二、程序設(shè)計結(jié)構(gòu)二、程序設(shè)計結(jié)構(gòu)三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu): :順序結(jié)構(gòu)順序結(jié)構(gòu):按程序語句的順序逐個執(zhí)按程序語句的順序逐

7、個執(zhí)行。行。 選擇結(jié)構(gòu):選擇結(jié)構(gòu):按設(shè)定的條件實現(xiàn)程序執(zhí)按設(shè)定的條件實現(xiàn)程序執(zhí)行流的多路分支。行流的多路分支。 循環(huán)結(jié)構(gòu):循環(huán)結(jié)構(gòu):按給定的條件重復地執(zhí)行按給定的條件重復地執(zhí)行指定的程序段或模塊指定的程序段或模塊1 1、選擇結(jié)構(gòu)、選擇結(jié)構(gòu) (1) if 語句語句 在在 matlab 中,中,if 語句有語句有 3 種格式。種格式。 (i) 單分支單分支 if 語句:語句: if 條件條件 語句組語句組 end 當條件成立時,則執(zhí)行語句組,執(zhí)行完之當條件成立時,則執(zhí)行語句組,執(zhí)行完之后繼后繼 續(xù)執(zhí)行續(xù)執(zhí)行 if 語句的后繼語句,若條件不語句的后繼語句,若條件不成立,則直接執(zhí)行成立,則直接執(zhí)行 i

8、f 語句的后繼語句。語句的后繼語句。(ii) 雙分支雙分支 if 語句:語句: if 條件條件 語句組語句組 1 else 語句組語句組 2 end 當條件成立時,執(zhí)行語句組當條件成立時,執(zhí)行語句組 1,否則執(zhí),否則執(zhí)行語句組行語句組 2,語句組,語句組 1 或語句組或語句組 2 執(zhí)行后,執(zhí)行后,再執(zhí)行再執(zhí)行 if 語句的后繼語句。語句的后繼語句。例例3 3、計算下列分段函數(shù)的函數(shù)值、計算下列分段函數(shù)的函數(shù)值x=input(請輸入請輸入 x 的值的值:);if x=0 y= (x+sqrt(pi)/exp(2);else y=log(x+sqrt(1+x*x)/2;endy(iii) 多分支多

9、分支if語句:語句:if 條件條件1 語句組語句組1 elseif 條件條件2 語句組語句組2 elseif 條件條件m 語句組語句組m else 語句組語句組n end語句用于實現(xiàn)多分支選擇結(jié)構(gòu)。語句用于實現(xiàn)多分支選擇結(jié)構(gòu)。(2) switch語句語句 switch 語句根據(jù)表達式的取值不同,分別執(zhí)行語句根據(jù)表達式的取值不同,分別執(zhí)行不同的語句,其語句格式為:不同的語句,其語句格式為: switch 表達式表達式 case 表達式表達式1 語句組語句組1 case 表達式表達式2 語句組語句組2 case 表達式表達式m 語句組語句組m otherwise 語句組語句組n end 當表達式的

10、值等于表達式當表達式的值等于表達式 1 的值時,執(zhí)行的值時,執(zhí)行語句組語句組 1,當表達式的值等于表達式,當表達式的值等于表達式 2 的值的值時,執(zhí)行語句組時,執(zhí)行語句組 2,當表達式的值等于,當表達式的值等于表達式表達式 m的值時,執(zhí)行語句組的值時,執(zhí)行語句組 m,當表達,當表達式的值不等于式的值不等于case 所列的表達式的值時,所列的表達式的值時,執(zhí)行語句組執(zhí)行語句組 n。當任意一個分支的語句執(zhí)行。當任意一個分支的語句執(zhí)行完后,直接執(zhí)行完后,直接執(zhí)行switch語句的下一句語句的下一句.例例4、輸入一個月份,判斷季節(jié)、輸入一個月份,判斷季節(jié). month=input(請輸入一個月份:請輸

11、入一個月份:); switch month case3,4,5 disp(spring) case6,7,8 disp(summer) case9,10,11 disp(autumn) otherwise disp(winter) end2 2、循環(huán)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)(1) for 語句語句 for 語句的格式為:語句的格式為: for 循環(huán)變量循環(huán)變量=表達式表達式1:表達式表達式2:表達式表達式3 循環(huán)體語句循環(huán)體語句 end 其中表達式其中表達式 1 的值為循環(huán)變量的初值,表達式的值為循環(huán)變量的初值,表達式 2 的值為步長,表達式的值為步長,表達式 3 的值為循環(huán)變量的終的值為循環(huán)變量的終值

12、。步長為值。步長為 1 時,表達式時,表達式 2 可以省略可以省略例例5、用循環(huán)語句實現(xiàn)、用循環(huán)語句實現(xiàn)累加累加和和累乘(常用結(jié)構(gòu))累乘(常用結(jié)構(gòu))(1)1+3+5+99(2)計算)計算 10!(1)m=0; for i=1:2:99 m=m+i; end m(2) m=1; for i=1:10 m=m*i; end m(2) while語句語句 while語句的一般格式為:語句的一般格式為: while (條件條件) 循環(huán)體語句循環(huán)體語句 end 其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)其執(zhí)行過程為:若條件成立,則執(zhí)行循環(huán)體語句,執(zhí)行后再判斷條件是否成立,如體語句,執(zhí)行后再判斷條件是否成立,如

13、果不成立則跳出循環(huán)。果不成立則跳出循環(huán)。例例6 6、利用、利用 while 語句計算例語句計算例5.5.(1 1) m=0; i=1; while i=99 m=m+i; i=i+2; end m(2) m=1; i=1; while i=10 m=m*i; i=i+1; end m(3)break 語句和語句和 continue 語句語句l 與循環(huán)結(jié)構(gòu)相關(guān)的語句還有與循環(huán)結(jié)構(gòu)相關(guān)的語句還有 break 語句和語句和continue 語句。它們一般與語句。它們一般與 if 語句配合使用。語句配合使用。l break 語句用于終止循環(huán)的執(zhí)行。當在循環(huán)體語句用于終止循環(huán)的執(zhí)行。當在循環(huán)體內(nèi)執(zhí)行到該

14、語句時,程序?qū)⑻鲅h(huán),繼續(xù)執(zhí)內(nèi)執(zhí)行到該語句時,程序?qū)⑻鲅h(huán),繼續(xù)執(zhí)行循環(huán)語句的下一語句。行循環(huán)語句的下一語句。l continue 語句控制跳過循環(huán)體中的某些語句。語句控制跳過循環(huán)體中的某些語句。當在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻^循當在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻^循環(huán)體中所有剩下的語句,繼續(xù)下一次循環(huán)。環(huán)體中所有剩下的語句,繼續(xù)下一次循環(huán)。例例7、求、求 100,200 之間第一個能被之間第一個能被 21 整整除的整數(shù)除的整數(shù) for n=100:200 if mod(n,21)=0 continue end break end n例例8(一個綜合練習)(一個綜合練習) 猜數(shù)游戲。首先由計算機產(chǎn)生猜數(shù)游戲。首先由計算機產(chǎn)生1,100 之間的隨機整數(shù),然后由用戶之間的隨機整數(shù),然后由用戶猜測所產(chǎn)生的隨機數(shù)。根據(jù)用戶猜測的猜測所產(chǎn)生的隨機數(shù)。根據(jù)用戶猜測的情況給出不同提示,如猜測的數(shù)大于產(chǎn)情況給出不同提示,如猜測的數(shù)大于產(chǎn)生的數(shù),則顯示生的數(shù),則顯示“high”,小于則顯示,小

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論