Matlab教程Ch3.ppt_第1頁(yè)
Matlab教程Ch3.ppt_第2頁(yè)
Matlab教程Ch3.ppt_第3頁(yè)
Matlab教程Ch3.ppt_第4頁(yè)
Matlab教程Ch3.ppt_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、1,第3章 MATLAB程序設(shè)計(jì),2,本章目標(biāo),掌握MATLAB的幾種基本控制轉(zhuǎn)移語(yǔ)句 學(xué)會(huì)使用M文件進(jìn)行編程 具備對(duì)復(fù)雜問(wèn)題的編程求解能力,3,主要內(nèi)容,3.1 程序設(shè)計(jì)概述 3.2 MATLAB程序結(jié)構(gòu) 3.3 M文件,4,3.1 程序設(shè)計(jì)概述,MATLAB是第四代編程語(yǔ)言 程序簡(jiǎn)潔 可讀性很強(qiáng) 調(diào)試容易 編程效率高 易移植和維護(hù) 通過(guò)編程可求解復(fù)雜性更高或特殊的問(wèn)題,5,3.2 MATLAB程序結(jié)構(gòu),按照程序設(shè)計(jì)的觀點(diǎn), 任何算法功能都可以通過(guò)由程序模塊組成的三種基本程序結(jié)構(gòu)的組合來(lái)實(shí)現(xiàn): 順序結(jié)構(gòu):程序按程序語(yǔ)句或模塊在執(zhí)行流中的順序逐個(gè)執(zhí)行。 選擇結(jié)構(gòu):程序按設(shè)定的條件實(shí)現(xiàn)程序執(zhí)行流

2、的多路分支。 循環(huán)結(jié)構(gòu):程序按給定的條件重復(fù)地執(zhí)行指定的程序段或模塊。,6,3.2.1順序結(jié)構(gòu),程序模塊1,程序模塊2,MATLAB中實(shí)現(xiàn)順序結(jié)構(gòu)的方法非常簡(jiǎn)單: 只需將程序語(yǔ)句順序排列即可,7,3.2.2 選擇結(jié)構(gòu),在MATLAB中,選擇結(jié)構(gòu)由兩種語(yǔ)句結(jié)構(gòu)實(shí)現(xiàn): if語(yǔ)句 switch語(yǔ)句,條件,程序模塊1,成立,不成立,程序模塊2,3.2.2 選擇結(jié)構(gòu),8,if語(yǔ)句,if表達(dá)式 程序模塊1 else 程序模塊2 end,9,if語(yǔ)句的兩種變形,(1) 單分支if語(yǔ)句:只有一個(gè)分支的選擇結(jié)構(gòu) if表達(dá)式 程序模塊 end (2) 多分支if語(yǔ)句:超過(guò)2個(gè)的選擇 if表達(dá)式1 程序模塊1 el

3、seif 表達(dá)式2 程序模塊2 elseif 表達(dá)式n 程序模塊n else 程序模塊n+1 end,10,例:將百分制的學(xué)生成績(jī)轉(zhuǎn)換為五級(jí)制的成績(jī)輸出,clear n=input(輸入n= ); if n=90 r=A elseif n=80 r=B elseif n=70 r=C elseif n=60 r=D else r=E end,運(yùn)行結(jié)果: 輸入n= 87 r = B,11,2.switch語(yǔ)句,switch 表達(dá)式 case 數(shù)值1 程序模塊1; case 數(shù)值2 程序模塊2; otherwise 程序模塊n end,12,例:將百分制的學(xué)生成績(jī)轉(zhuǎn)換為五級(jí)制的成績(jī)輸出使用swit

4、ch語(yǔ)句,clear n=input(輸入n= ); switch fix(n/10) case 10,9 r=A case 8 r=B case 7 r=C case 6 r=D otherwise r=E end,運(yùn)行結(jié)果: 輸入n= 65 r = D,13,3.2.3 循環(huán)結(jié)構(gòu),在MATLAB中,循環(huán)結(jié)構(gòu)可以由兩種語(yǔ)句結(jié)構(gòu)實(shí)現(xiàn): for語(yǔ)句循環(huán)結(jié)構(gòu) while語(yǔ)句循環(huán)結(jié)構(gòu),程序模塊,不成立,成立,條件,3.2.2 選擇結(jié)構(gòu),14,1for語(yǔ)句循環(huán)結(jié)構(gòu),for循環(huán)變量起始值:步長(zhǎng):終止值 循環(huán)體 end,15,例:使用for結(jié)構(gòu)計(jì)算1+2+3+100,clear sum=0; for i=

5、1:100 sum=sum+i; end sum,運(yùn)行結(jié)果: sum = 5050,16,2while語(yǔ)句循環(huán)結(jié)構(gòu),while表達(dá)式 循環(huán)體 end,17,例:使用while結(jié)構(gòu)計(jì)算1+2+3+100,clear sum=0; i=0; while i100 i=i+1; sum=sum+i; end sum,運(yùn)行結(jié)果: sum = 5050,18,3.3 M文件,MATLAB工作模式 命令行方式。 程序文件驅(qū)動(dòng)模式 MATLAB文本編輯器,19,3.3.1命令文件,又稱為腳本文件,是一串指令的集合。 用戶只需鍵入該命令文件的文件名,系統(tǒng)就會(huì)自動(dòng)逐行執(zhí)行該文件中的各條語(yǔ)句。 適用于小規(guī)模運(yùn)算。

6、,20,3.3.2函數(shù)文件,函數(shù)文件基本格式: function 輸出形參列表=函數(shù)名(輸入形參列表) 注釋說(shuō)明語(yǔ)句段 程序語(yǔ)句段,21,擴(kuò)展閱讀,3.4其他流程控制語(yǔ)句 1. break語(yǔ)句 2. continue語(yǔ)句 3. return語(yǔ)句 4. try語(yǔ)句 5. echo命令 6. input命令 7. keyboard命令 8. pause命令 3.5函數(shù)與變量參數(shù)傳遞 3.5.1子函數(shù)與私有函數(shù) 3.5.2變量作用域 3.5.3函數(shù)的參數(shù)傳遞,22,上機(jī)指導(dǎo),3.6 M文件的調(diào)試 3.7 M文件性能分析與優(yōu)化 3.7.1 M文件性能分析 3.7.2 M文件性能優(yōu)化,23,應(yīng)用舉例,求1!+2!+3!+ +5!的值 clear sum=0; for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr; end sum,運(yùn)行結(jié)果: sum = 153,24,應(yīng)用舉例,雞兔同籠問(wèn)題:雞和兔子關(guān)在一個(gè)籠子里,已知共有頭36個(gè),腳100個(gè),求籠內(nèi)關(guān)了多少只兔子和多少只雞? clear chicken=1; while 1 if rem(100-chicken*2, 4)=0 end chicken rabb

溫馨提示

  • 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)論