




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、MATLAB編程與工程應(yīng)用第3章 MATLAB程序設(shè)計MATLAB編程與工程應(yīng)用教教 師師:曾曉東:曾曉東電電 話話:1367900720113679007201E_mailE_mail: : QQQQ: 241747139: 241747139第3章 MATLAB程序設(shè)計第第4 4章章 MATLABMATLAB程序設(shè)計程序設(shè)計4.1 M4.1 M文件文件4.2 4.2 程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)4.3 4.3 函數(shù)文件函數(shù)文件4.4 4.4 程序舉例程序舉例4.5 4.5 程序調(diào)試程序調(diào)試第3章 MATLAB程序設(shè)計4.1 M4.1 M文件文件一、一、M M文件概述文件概述 用MATLAB語言
2、編寫的程序,稱為M M文件文件。M文件可以根據(jù)調(diào)用方式的不同分為兩類: 命令文件命令文件(Script File) 函數(shù)文件函數(shù)文件(Function File)。二、二、M M文件的建立和打開文件的建立和打開 M文件是一個文本文件,它可以用任何編輯程序來建立和編輯,而一般常用且最為方便的是使用MATLAB提供的文本編輯器。第3章 MATLAB程序設(shè)計4.1 M4.1 M文件文件1 1建立新的建立新的M M文件文件 (1) (1) 菜單操作菜單操作。從MATLAB主窗口的File菜單中選擇New菜單項(xiàng),再選擇M-file命令,屏幕上將出現(xiàn)MATLAB 文本編輯器窗口。 (2) (2) 命令操作
3、命令操作。在MATLAB命令窗口輸入命令edit,啟動MATLAB文本編輯器后,輸入M文件的內(nèi)容并存盤。 (3) (3) 命令按鈕操作命令按鈕操作。單擊MATLAB主窗口工具欄上的New M-File命令按鈕,啟動MATLAB文本編輯器后,輸入M文件的內(nèi)容并存盤。第3章 MATLAB程序設(shè)計4.1 M4.1 M文件文件2 2打開已有的打開已有的M M文件文件 (1) (1) 菜單操作菜單操作。從MATLAB主窗口的File菜單中選擇Open命令,則屏幕出現(xiàn)Open對話框,在Open對話框中選中所需打開的M文件。在文檔窗口可以對打開的M文件進(jìn)行編輯修改,編輯完成后,將M文件存盤。 (2) (2)
4、 命令操作命令操作。在MATLAB命令窗口輸入命令:edit 文件名,則打開指定的M文件。 (3) (3) 命令按鈕操作命令按鈕操作。單擊MATLAB主窗口工具欄上的Open File命令按鈕,再從彈出的對話框中選擇所需打開的M文件。第3章 MATLAB程序設(shè)計4.2 4.2 程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)一、順序結(jié)構(gòu)一、順序結(jié)構(gòu)1. input1. input函數(shù)函數(shù)A=input(A=input(提示信息,選項(xiàng)提示信息,選項(xiàng)) );注:s選項(xiàng),則允許用戶輸入一個字符串。例如想輸入一個人的姓名,可采用命令xm=input(Whats your name:,s)【例【例4.14.1】 求一元二次方程
5、求一元二次方程a a2 2+bx+c=0+bx+c=0的根。的根。( (exp3_1.mexp3_1.m) )a=input(a=?); b=input(b=?);c=input(c=?);d=b*b-4*a*c;x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a)第3章 MATLAB程序設(shè)計一、順序結(jié)構(gòu)一、順序結(jié)構(gòu)2. disp2. disp函數(shù)函數(shù)dispdisp( (輸出項(xiàng)輸出項(xiàng)) )輸出項(xiàng)為字符串或矩陣?yán)鼳=Hello,MATLAB;disp(A)輸出為:Hello,MATLAB第3章 MATLAB程序設(shè)計4.2 4.2 程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)二、選擇結(jié)構(gòu)二、選
6、擇結(jié)構(gòu)ifif,elseelse,elseifelseif語句語句if(if(邏輯表達(dá)式邏輯表達(dá)式) )執(zhí)行語句執(zhí)行語句endendif(if(邏輯表達(dá)式邏輯表達(dá)式) )執(zhí)行語句執(zhí)行語句1 1elseelse執(zhí)行語句執(zhí)行語句2 2endendif(if(邏輯表達(dá)式邏輯表達(dá)式1)1)執(zhí)行語句執(zhí)行語句1 1 elseif elseif( (邏輯表達(dá)式邏輯表達(dá)式2)2)執(zhí)行語句執(zhí)行語句2 2 else else執(zhí)行語句執(zhí)行語句n n end end第3章 MATLAB程序設(shè)計二、選擇結(jié)構(gòu)二、選擇結(jié)構(gòu)【例【例4.24.2】:輸入三角形的三條邊,求面積。:輸入三角形的三條邊,求面積。( (exp3_2.
7、mexp3_2.m) )A=input(請輸入三角形的三條邊:);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)成一個三角形。)end運(yùn)行: 請輸入三角形的三條邊:4 5 6 9.9216第3章 MATLAB程序設(shè)計二、選擇結(jié)構(gòu)二、選擇結(jié)構(gòu)【例【例4.34.3】: 輸入一個字符,若為大寫字母,則輸出其后輸入一個字符,若為大寫字母,則輸出其后繼字符,若為小寫字母,則輸出其前導(dǎo)字
8、符,若為其他繼字符,若為小寫字母,則輸出其前導(dǎo)字符,若為其他字符則原樣輸出。字符則原樣輸出。( (exp3_3.mexp3_3.m) )c=input(請輸入字符,s);if c=A & c=a& c=z disp(setstr(abs(c)-1);else disp(c);end第3章 MATLAB程序設(shè)計二、選擇結(jié)構(gòu)二、選擇結(jié)構(gòu)2. switch2. switch語句語句格式格式:switch(表達(dá)式) 表達(dá)式可以是標(biāo)量或字符串case 值1語句1case 值2語句2otherwise語句nend執(zhí)行方式執(zhí)行方式:表達(dá)式的值和哪種情況(case)的值相同,就執(zhí)行哪種情況中的
9、語句,如果不同,則執(zhí)行otherwise中的 語 句 。 格 式 中 也 可 以 不 包 括otherwise,這時如果表達(dá)式的值與列出的各種情況都不相同,則繼續(xù)向下執(zhí)行。第3章 MATLAB程序設(shè)計二、選擇結(jié)構(gòu)二、選擇結(jié)構(gòu)【例【例4.44.4】根據(jù)變量】根據(jù)變量numnum的值來決定顯示的內(nèi)容。的值來決定顯示的內(nèi)容。( (exp3_4.mexp3_4.m) )num=input(請輸入一個數(shù));switch(num)case -1disp(I am a teacher.);case 0disp(I am a student.);case 1disp(You are a teacher.);o
10、therwisedisp(You are a student.);end第3章 MATLAB程序設(shè)計二、選擇結(jié)構(gòu)二、選擇結(jié)構(gòu)3 3trytry語句語句格式:trytry 語句組語句組1 1catchcatch 語句組語句組2 2endend try語句先試探性執(zhí)行語句組1,如果語句組1在執(zhí)行過程中出現(xiàn)錯誤,則將錯誤信息賦給保留的lasterr變量,并轉(zhuǎn)去執(zhí)行語句組2。第3章 MATLAB程序設(shè)計二、選擇結(jié)構(gòu)二、選擇結(jié)構(gòu)【例【例4.54.5】矩陣乘法運(yùn)算要求兩矩陣的維數(shù)相容,否則會出矩陣乘法運(yùn)算要求兩矩陣的維數(shù)相容,否則會出錯。先求兩矩陣的乘積,若出錯,則自動轉(zhuǎn)去求兩矩陣錯。先求兩矩陣的乘積,若
11、出錯,則自動轉(zhuǎn)去求兩矩陣的點(diǎn)乘。的點(diǎn)乘。(exp3_5.m)(exp3_5.m)程序如下:A=1,2,3;4,5,6; B=7,8,9;10,11,12;try C=A*B;catch C=A.*B;endClasterr %顯示出錯原因第3章 MATLAB程序設(shè)計4.2 4.2 程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)三、循環(huán)語句1.for1.for語句語句(1)for (1)for 循環(huán)變量循環(huán)變量= =表達(dá)式表達(dá)式1:1:表達(dá)式表達(dá)式3:3:表達(dá)式表達(dá)式2 2循環(huán)語句組循環(huán)語句組 EndEnd(2)for (2)for 循環(huán)變量循環(huán)變量= =數(shù)組范圍數(shù)組范圍循環(huán)語句組循環(huán)語句組 endend 步長缺省值
12、為1,可以在正實(shí)數(shù)或負(fù)實(shí)數(shù)范圍內(nèi)任意指定。 對于正數(shù),循環(huán)變量的值大于終止值時,循環(huán)結(jié)束;對于負(fù)數(shù),循環(huán)變量的值小于終止值時,循環(huán)結(jié)束。循環(huán)結(jié)構(gòu)可以嵌套使用。 書寫格式不必太過于拘泥,在Editor編輯器中會自動進(jìn)行處理。第3章 MATLAB程序設(shè)計三、循環(huán)語句注意:注意:1)for1)for循環(huán)不能用循環(huán)不能用forfor循環(huán)內(nèi)重新賦值循環(huán)變量循環(huán)內(nèi)重新賦值循環(huán)變量n n來終止來終止for n=1:10 x(n)=sin(n*pi/10); n=10;end2)2)語句語句1:101:10是標(biāo)準(zhǔn)的是標(biāo)準(zhǔn)的MATLABMATLAB數(shù)組創(chuàng)建語句,在數(shù)組創(chuàng)建語句,在FORFOR循環(huán)內(nèi)接受循環(huán)內(nèi)接受
13、任何有效的任何有效的MATLABMATLAB數(shù)組。數(shù)組。data=3 9 45 6 ;7 16 1 5;for n=data x=n(1)-n(2)end 第3章 MATLAB程序設(shè)計三、循環(huán)語句3)for 循環(huán)可按需要嵌套for n=1:5 for m=5:-1:1S(n,m)=n2+m2; end disp(n)endS = 2 5 10 17 26S = 2 5 10 17 26 5 8 13 20 29 5 8 13 20 29 10 13 18 25 34 10 13 18 25 34 17 20 25 32 41 17 20 25 32 41 26 29 34 41 50 26 2
14、9 34 41 504)當(dāng)有一個等效的數(shù)組來解給定的問題時,應(yīng)避免用FOR循環(huán),例如,上面的注意1中的例子可重寫為n=1:10; n=1:10; x=sin(nx=sin(n* *pi/10);pi/10);5)為了得到最大的速度,在for循環(huán)(while循環(huán))被執(zhí)行之前,應(yīng)預(yù)先分配數(shù)組。如在注意3中,應(yīng)在循環(huán)前執(zhí)行S=zeros(5);S=zeros(5); 第3章 MATLAB程序設(shè)計三、循環(huán)語句2 2、whilewhile循環(huán)語句循環(huán)語句while(while(表達(dá)式表達(dá)式) )循環(huán)體循環(huán)體endendn 若表達(dá)式為真,則執(zhí)行循環(huán)體的內(nèi)容,執(zhí)行后再判斷表達(dá)式是否為真,若不為真,則跳出循環(huán)
15、體,向下繼續(xù)執(zhí)行。n While循環(huán)和for循環(huán)的區(qū)別在于,while循環(huán)結(jié)構(gòu)的循環(huán)體被執(zhí)行的次數(shù)不是確定的,而for結(jié)構(gòu)中循環(huán)體的執(zhí)行次數(shù)是確定的。第3章 MATLAB程序設(shè)計三、循環(huán)語句【例【例3.63.6】:計算下式的值:計算下式的值(exp3_6_1.m,exp3_6_2.m) 10001i2i 2i(1 1)使用)使用forfor循環(huán)循環(huán)sum=0;sum=0;for I=1:1000for I=1:1000sum=sum+I2+2sum=sum+I2+2* *I;I;endend(2)(2)使用使用whilewhile循環(huán)循環(huán)sum=0;sum=0;I=1;I=1;while(I=
16、1000)while(I1000)if(sum1000)break;break;endendendenddisplay(n)display(n)sum=0;sum=0;n=0;n=0;while(sum=1000)while(sum=1000)n = n+1;n = n+1;sum = sum+n2+2sum = sum+n2+2* *n;n;endenddisplay(n)display(n)第3章 MATLAB程序設(shè)計四、程序流控制四、程序流控制2.2.continuecontinue語句語句 跳過循環(huán)體中的某些語句。 當(dāng)在循環(huán)體內(nèi)執(zhí)行到該語句時,程序?qū)⑻^循環(huán)體中所有剩下的語句,繼續(xù)下一
17、次循環(huán)。3.return()3.return()函數(shù)函數(shù) 作用是中斷函數(shù)的執(zhí)行,返回上級調(diào)用函數(shù)。return()函數(shù)指令既可以用在循環(huán)體內(nèi),也可用在非循環(huán)體內(nèi)。4.pause()4.pause()函數(shù)函數(shù) 暫停指令。運(yùn)行程序時,到pause()函數(shù)指令執(zhí)行后,程序?qū)和#却脩羟萌我绘I后繼續(xù)執(zhí)行。 pause(n) 暫停幾秒后程序繼續(xù)執(zhí)行 若要強(qiáng)行中止程序的運(yùn)行可使用Ctrl+CCtrl+C命令。第3章 MATLAB程序設(shè)計4.3 4.3 函數(shù)文件函數(shù)文件一、 函數(shù)文件的基本結(jié)構(gòu)函數(shù)文件由function語句引導(dǎo),其基本結(jié)構(gòu)為: function function 輸出形參表輸出形參表=
18、=函數(shù)名函數(shù)名( (輸入形參表輸入形參表) ) 注釋說明部分注釋說明部分 函數(shù)體語句函數(shù)體語句其中以function開頭的一行為引導(dǎo)行,表示該M文件是一個函數(shù)文件。函數(shù)名的命名規(guī)則與變量名相同。函數(shù)名必須與文件名相同。輸入形參為函數(shù)的輸入?yún)?shù),輸出形參為函數(shù)的輸出參數(shù)。當(dāng)輸出形參多于一個時,則應(yīng)該用方括號括起來。第3章 MATLAB程序設(shè)計一、 函數(shù)文件的基本結(jié)構(gòu)【例【例3.83.8】: :編寫函數(shù)文件求半徑為編寫函數(shù)文件求半徑為r r的圓的面積和周長。的圓的面積和周長。(fcircle.m) function s,p=fcircle(r)%fcircle 半徑為r的圓的面積和周長%r 圓半徑
19、%s 圓面積%p 圓周長%編制時間:2007年8月30日s=pi*r*r;p=2*pi*r;第3章 MATLAB程序設(shè)計4.3 4.3 函數(shù)文件函數(shù)文件二、函數(shù)調(diào)用二、函數(shù)調(diào)用 函數(shù)調(diào)用的一般格式是: 輸出實(shí)參表輸出實(shí)參表=函數(shù)名函數(shù)名( (輸入實(shí)參表輸入實(shí)參表) ) 要注意的是,函數(shù)調(diào)用時各實(shí)參出現(xiàn)的順序、個數(shù),應(yīng)與函數(shù)定義時形參的順序、個數(shù)一致,否則會出錯。 函數(shù)調(diào)用時,先將實(shí)參傳遞給相應(yīng)的形參,從而實(shí)現(xiàn)參數(shù)傳遞,然后再執(zhí)行函數(shù)的功能。 在MATLAB中,函數(shù)可以嵌套調(diào)用,即一個函數(shù)可以調(diào)用別的函數(shù),甚至調(diào)用它自身。一個函數(shù)調(diào)用它自身稱為函數(shù)的遞歸調(diào)用。第3章 MATLAB程序設(shè)計二、函數(shù)調(diào)用二、函數(shù)調(diào)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 8 Reading1 教學(xué)設(shè)計 2024-2025學(xué)年譯林版(2024)七年級英語上冊
- 13我能行(教學(xué)設(shè)計)-2023-2024學(xué)年道德與法治二年級下冊統(tǒng)編版
- 2023四年級數(shù)學(xué)下冊 數(shù)學(xué)好玩第2課時 奧運(yùn)中的數(shù)學(xué)教學(xué)設(shè)計 北師大版
- 復(fù)發(fā)性流產(chǎn)病人的護(hù)理
- 2024-2025學(xué)年高中歷史 第三單元 近代中國經(jīng)濟(jì)結(jié)構(gòu)的變動與資本主義的曲折發(fā)展 第9課 近代中國經(jīng)濟(jì)結(jié)構(gòu)的變動新課教學(xué)設(shè)計2 新人教版必修2
- 2024-2025學(xué)年高中化學(xué) 第三章 第二節(jié) 分子晶體與原子晶體 第2課時 原子晶體教學(xué)設(shè)計 新人教版選修3
- 2023七年級歷史下冊 第三單元 明清時期:統(tǒng)一多民族國家的鞏固與發(fā)展第18課 統(tǒng)一多民族國家的鞏固和發(fā)展教學(xué)設(shè)計 新人教版
- 2《不一樣的 你我他》(教學(xué)設(shè)計)-2023-2024學(xué)年道德與法治三年級下冊統(tǒng)編版
- Unit 2 Good Morning,Miss Wang (教學(xué)設(shè)計)-2024-2025學(xué)年新世紀(jì)英語一年級上冊
- Unit 1 What's the matter Section A 4a-4c 教案 2024-2025學(xué)年人教版八年級英語下冊
- 中華民族共同體概論教案第二講-樹立正確的中華民族歷史觀
- 國家開放大學(xué)《幼兒園社會教育專題》形考作業(yè)1-4參考答案
- 物理中考培訓(xùn)心得體會
- 深度學(xué)習(xí)及自動駕駛應(yīng)用 課件 第5章 基于CNN的自動駕駛目標(biāo)檢測理論與實(shí)踐
- 山東淄博博山獼猴桃產(chǎn)業(yè)發(fā)展現(xiàn)狀與對策建議
- 人教版大單元教學(xué)設(shè)計-小學(xué)四年級數(shù)學(xué)下冊第五單元三角形
- 中建項(xiàng)目商務(wù)管理手冊
- 承插型盤扣式腳手架作業(yè)指導(dǎo)書
- 二氧化碳的檢測
- 《菊次郎的夏天》電影賞析
- 佳能相機(jī)PowerShot SX60 HS使用說明書
評論
0/150
提交評論