




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、Hefei University of TechnologyInstitute of Sound and Vibration ResearchMATLAB 程序設(shè)計程序設(shè)計流程控制語句流程控制語句2回顧和復(fù)習(xí)回顧和復(fù)習(xí) 數(shù)據(jù)類型:數(shù)據(jù)類型:Matlab事實上把每種類型的數(shù)據(jù)都作為數(shù)組來處理事實上把每種類型的數(shù)據(jù)都作為數(shù)組來處理數(shù)組數(shù)組邏輯型邏輯型字符型字符型單元型單元型結(jié)構(gòu)體結(jié)構(gòu)體數(shù)值型數(shù)值型默認(rèn)默認(rèn)類型類型節(jié)約內(nèi)存空間節(jié)約內(nèi)存空間3回顧和復(fù)習(xí)回顧和復(fù)習(xí) 變量:變量:變量名必須是一個單一的變量名必須是一個單一的詞,不能包含空格,命名須符合詞,不能包含空格,命名須符合下列規(guī)則:下列規(guī)則:變量名區(qū)
2、分大小寫。變量名區(qū)分大小寫。 pi 和和 Pi 是兩個不同的變量。是兩個不同的變量。變量名長度不超過變量名長度不超過63個字符,個字符,超過部分將會被忽略。超過部分將會被忽略。變量名必須以字母開始,其后變量名必須以字母開始,其后可以為字母、數(shù)字或者下劃線,可以為字母、數(shù)字或者下劃線,不支持其他符號,因為其他符不支持其他符號,因為其他符號在號在 MATLAB 中具有特殊的中具有特殊的意義。意義。4回顧和復(fù)習(xí)回顧和復(fù)習(xí) 數(shù)學(xué)運算、關(guān)系運算和邏輯運算數(shù)學(xué)運算、關(guān)系運算和邏輯運算5回顧和復(fù)習(xí)回顧和復(fù)習(xí) 基本數(shù)學(xué)函數(shù)的調(diào)用:基本數(shù)學(xué)函數(shù)的調(diào)用:注意使用小括號注意使用小括號( )6回顧和復(fù)習(xí)回顧和復(fù)習(xí) 數(shù)
3、組創(chuàng)建、尋址和運算數(shù)組創(chuàng)建、尋址和運算 關(guān)鍵點:關(guān)鍵點: 1. 使用方括號使用方括號 2. 同行元素使用空格或逗號分割;不同行元素使用分號分割同行元素使用空格或逗號分割;不同行元素使用分號分割 3. 等差數(shù)組使用冒號操作符或等差數(shù)組使用冒號操作符或linspace函數(shù)創(chuàng)建更為簡便,函數(shù)創(chuàng)建更為簡便, Start_val: Step: Stop_val linspace(Start_val, Stop_val, N) 4. 創(chuàng)建矩陣的特殊函數(shù):創(chuàng)建矩陣的特殊函數(shù):eye, zeros, ones, rand, randn 5. 通過下標(biāo)尋址數(shù)組元素,單下標(biāo)和雙下標(biāo),起始值是通過下標(biāo)尋址數(shù)組元素,
4、單下標(biāo)和雙下標(biāo),起始值是1 A(1 3 6 8), A(2:3, 3:6), A(:, 2:3), A(1:5,:) 6. 數(shù)組運算:運算符有沒有點的區(qū)別數(shù)組運算:運算符有沒有點的區(qū)別7回顧和復(fù)習(xí)回顧和復(fù)習(xí) 腳本文件和函數(shù)文件腳本文件和函數(shù)文件 腳本文件不需要輸入?yún)?shù),也不輸出參數(shù),按照文件中制定的腳本文件不需要輸入?yún)?shù),也不輸出參數(shù),按照文件中制定的順序執(zhí)行命令順序執(zhí)行命令序列。腳本文件適合于小規(guī)模運算。序列。腳本文件適合于小規(guī)模運算。 g=0: 0.5: 20; %產(chǎn)生一維向量產(chǎn)生一維向量 x=sin(g); % 計算正弦值計算正弦值 y=cos(g); % 計算余弦值計算余弦值 z=x;
5、 y; 腳本文件的運行有兩種方式:腳本文件的運行有兩種方式: 1. 在命令窗口中鍵入文件名;在命令窗口中鍵入文件名; 2. 在在M文件編輯窗口點擊文件編輯窗口點擊Debug菜單的菜單的Run, 或者使用快捷鍵或者使用快捷鍵F5。8回顧和復(fù)習(xí)回顧和復(fù)習(xí) 函數(shù)文件接受其他數(shù)據(jù)為輸入?yún)?shù),并且可以返回數(shù)據(jù)。函數(shù)文件接受其他數(shù)據(jù)為輸入?yún)?shù),并且可以返回數(shù)據(jù)。 function 輸出輸出形參形參列表列表= 函數(shù)名函數(shù)名(輸入(輸入形參形參列表)列表) %注釋說明部分(可選)注釋說明部分(可選) 函數(shù)體語句函數(shù)體語句 (必須)(必須)function s, v=volume (r, h)% r is th
6、e radius of the cylinder% h is the height of the cylinder s=2*r*pi*h + 2*pi*r2; % calculate the surface area v=pi*r2*h; % calculate the volume輸出輸出實參實參列表列表 = 函數(shù)名函數(shù)名(輸入輸入實參實參列表列表)函數(shù)的函數(shù)的調(diào)用格式:調(diào)用格式:s, v=volume (1, 1);9回顧和復(fù)習(xí)回顧和復(fù)習(xí) 上機題目上機題目: : 編寫函數(shù),計算編寫函數(shù),計算y=ax2+bx+c的值的值。其中。其中x的取值范圍的取值范圍是是-6,6。 function y
7、= parabolic_curve (a, b, c, x) y=a* x.2 + b*x + c; 這個函數(shù)的這個函數(shù)的調(diào)用:調(diào)用:y = parabolic_curve (1, 2, 3, -6:0.1:6); 或者:或者: a=1; b=2; c=3; x= -6:0.1:6; y = parabolic_curve (a, b, c, x);10順序結(jié)構(gòu)順序結(jié)構(gòu) 順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),系統(tǒng)在編譯程序時,按照程順序結(jié)構(gòu)是最簡單的程序結(jié)構(gòu),系統(tǒng)在編譯程序時,按照程序的物理位置順序執(zhí)行。這種程序容易編制,但是結(jié)構(gòu)單一,序的物理位置順序執(zhí)行。這種程序容易編制,但是結(jié)構(gòu)單一,能夠?qū)崿F(xiàn)的功能
8、有限。能夠?qū)崿F(xiàn)的功能有限。腳本:腳本: r=1; h=1; s=2*r*pi*h + 2*pi*r2; v=pi*r2*h; 函數(shù):函數(shù): function s, v=volume (r, h) s=2*r*pi*h + 2*pi*r2; v=pi*r2*h; 11新內(nèi)容:流程控制新內(nèi)容:流程控制 判斷語句(判斷語句(ifelseend) 循環(huán)語句循環(huán)語句 (for語句)語句) 12流程控制流程控制判斷語句判斷語句單個選擇單個選擇 if 表達式表達式 執(zhí)行代碼塊執(zhí)行代碼塊end 注意注意:語句中的:語句中的end是決不是決不可少的,沒有它,在邏輯表可少的,沒有它,在邏輯表達式為達式為0時,就找
9、不到繼續(xù)時,就找不到繼續(xù)執(zhí)行程序的入口。執(zhí)行程序的入口。13流程控制流程控制判斷語句判斷語句 單個選擇單個選擇 例子:編寫一個函數(shù),在不使用例子:編寫一個函數(shù),在不使用abs函數(shù)的前提下,計函數(shù)的前提下,計算算|x-y| 。 function jdz=absolute_value(x, y) jdz=x-y; if jdzy jdz=x-y; else jdz=y-x; end16流程控制流程控制判斷語句判斷語句 兩個選擇兩個選擇 例子例子2:計算分段函數(shù)的值:計算分段函數(shù)的值 0 2/ )1ln(0 / )(22xxxxexy function y=subfunc(x) if x=0 y=(
10、x+sqrt(pi)/exp(2); else y=log(x+sqrt(1+x2)/2 end17流程控制流程控制判斷語句判斷語句 多個選擇多個選擇 當(dāng)判斷包含多個選擇時,采用當(dāng)判斷包含多個選擇時,采用elseif 語句語句if 表達式表達式1 執(zhí)行代碼塊執(zhí)行代碼塊1elseif 表達式表達式2 執(zhí)行代碼塊執(zhí)行代碼塊2elseif .else 執(zhí)行代碼塊執(zhí)行代碼塊end可以任意多個可以任意多個18流程控制流程控制判斷語句判斷語句 多個選擇多個選擇 例例1:編寫函數(shù),滿足以下功能:輸入一個字符,若為大:編寫函數(shù),滿足以下功能:輸入一個字符,若為大寫字母,則輸出其對應(yīng)的小寫字母;若為小寫字母,則
11、寫字母,則輸出其對應(yīng)的小寫字母;若為小寫字母,則輸出其對應(yīng)的大寫字母;若為數(shù)字字符則輸出其對應(yīng)的輸出其對應(yīng)的大寫字母;若為數(shù)字字符則輸出其對應(yīng)的數(shù)值,若為其他字符則原樣輸出。數(shù)值,若為其他字符則原樣輸出。 19流程控制流程控制判斷語句判斷語句 多個選擇多個選擇function y=zifu(c) if c=A & c=a& c=0& c=0 & n=60 & n=90 & n100 A=優(yōu)秀優(yōu)秀else A=輸入錯誤輸入錯誤end21流程控制流程控制循環(huán)語句循環(huán)語句forfor語句語句 for 語句調(diào)用的基本格式如下:語句調(diào)用的基本格式如下: f
12、or index = 初值:增量:終值初值:增量:終值 語句組語句組A end 功能:把語句組功能:把語句組A(亦稱為循環(huán)體)反復(fù)執(zhí)行(亦稱為循環(huán)體)反復(fù)執(zhí)行N次。循次。循環(huán)次數(shù)環(huán)次數(shù)N為:為: N1+(終值終值-初值初值)/增量增量 在每次執(zhí)行時程序中的在每次執(zhí)行時程序中的index的值按的值按“增量增量”增加增加 for 語句的循環(huán)次數(shù)是預(yù)先指定的。語句的循環(huán)次數(shù)是預(yù)先指定的。22流程控制流程控制循環(huán)語句循環(huán)語句forfor語句語句例例1:用:用 for循環(huán)求解循環(huán)求解 1+2+.+99+100 (只對奇數(shù)求和?只對奇數(shù)求和?) s=0; for i=1:100 s=s+i; end 注意
13、:注意:當(dāng)有一個等效的數(shù)組方法來解給定的問題時,當(dāng)有一個等效的數(shù)組方法來解給定的問題時,應(yīng)避免用應(yīng)避免用forfor循環(huán)。循環(huán)。 s=sum(1:100);23流程控制流程控制循環(huán)語句循環(huán)語句forfor語句語句 s=0; for i=1:10000 s=s+1/2(i+2); end 100001221ii例例2:計算:計算 i=1:10000 s=sum(1./2.(i+2); 24流程控制流程控制循環(huán)語句循環(huán)語句forfor語句語句for 語句的嵌套語句的嵌套 如果一個循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個循環(huán)結(jié)構(gòu),就稱如果一個循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個循環(huán)結(jié)構(gòu),就稱為循環(huán)的嵌套,或稱為多重循環(huán)結(jié)構(gòu)
14、為循環(huán)的嵌套,或稱為多重循環(huán)結(jié)構(gòu) 例子:建立一個例子:建立一個1010階數(shù)組,數(shù)組中的每一個元素階數(shù)組,數(shù)組中的每一個元素A(i, j)滿滿足足A(i, j)=1/(i+j-1). for i=1:10 for j=1:10 A(i, j)=1/(i+j-1); end end25流程控制習(xí)題流程控制習(xí)題if和和for聯(lián)合使用聯(lián)合使用 編寫程序計算編寫程序計算 其中其中x的值為從的值為從-10到到10之間,以之間,以0.5為步長。要求用循環(huán)為步長。要求用循環(huán)語句實現(xiàn)。語句實現(xiàn)。0 50 5)(33xxxxxf26流程控制習(xí)題流程控制習(xí)題 x = -10: 0.5: 10; num=length
15、(x); y=zeros(1, num);for i = 1:num if x(i) 0 y(i) = -x(i)3 + 5; else y(i) = x(i)3 + 5; endendfunction y=fx(x) num=length(x); y=zeros(1, num); for i = 1:num if x(i) 0 y(i) = -x(i)3 + 5; else y(i) = x(i)3 + 5; end end27練習(xí)題的其他編程方法練習(xí)題的其他編程方法重新編寫程序,實現(xiàn)重新編寫程序,實現(xiàn)1題的功能,但不采用題的功能,但不采用循環(huán)語句。循環(huán)語句。x = -10: 0.5: 10
16、;y= zeros(1, length(x);id1 = find(x0);y(id2)=x(id2).3 + 5;28流程控制流程控制循環(huán)語句循環(huán)語句whilewhile語句語句 while while 語句用于將相同的代碼塊執(zhí)行多次,但是語句用于將相同的代碼塊執(zhí)行多次,但是次數(shù)次數(shù)并不預(yù)先指定并不預(yù)先指定,當(dāng),當(dāng) while while 的條件表達式為真時,執(zhí)行代的條件表達式為真時,執(zhí)行代碼塊,直到條件表達式為假。碼塊,直到條件表達式為假。 while while 語句的結(jié)構(gòu)為:語句的結(jié)構(gòu)為: while while 表達式表達式 執(zhí)行代碼塊執(zhí)行代碼塊 end end 29流程控制流程控制
17、循環(huán)語句循環(huán)語句whilewhile語句語句 例:用循環(huán)求解最小的例:用循環(huán)求解最小的m m,使其滿足,使其滿足 s=0; m=0; while (s=10000) m=m+1; s=s+m; endmii11000030流程控制流程控制分支語句分支語句 MATLAB 中的另一種多選擇語句為分支語句。分支語中的另一種多選擇語句為分支語句。分支語句的結(jié)構(gòu)為:句的結(jié)構(gòu)為:switch 分支語句分支語句 case 條件語句條件語句 執(zhí)行代碼塊執(zhí)行代碼塊 case 條件語句條件語句1, 條件語句條件語句2, 條件語句條件語句3, . 執(zhí)行代碼塊執(zhí)行代碼塊 otherwise 執(zhí)行代碼塊執(zhí)行代碼塊end
18、多個條件時,采用單元數(shù)組多個條件時,采用單元數(shù)組31流程控制流程控制分支語句分支語句例例1:編寫函數(shù)計算任意底對數(shù):編寫函數(shù)計算任意底對數(shù)function y=logab(a, b) switch a case exp(1) y = log(b); case 2 y = log2(b); case 10 y = log10(b); otherwise y = log(b)/log(a);end32流程控制流程控制分支語句分支語句例例2:某商場對顧客所購買的商品實行打折銷售,標(biāo)準(zhǔn):某商場對顧客所購買的商品實行打折銷售,標(biāo)準(zhǔn)如下如下(商品價格用商品價格用price來表示來表示): price200 沒有折扣沒有折扣 200price500 3%折扣折扣 500price1000 5%折扣折扣 1000price2500 8
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市化進程風(fēng)險評估-洞察及研究
- 南極冰緣生態(tài)系統(tǒng)-洞察及研究
- 數(shù)字化轉(zhuǎn)型中的領(lǐng)導(dǎo)力-洞察及研究
- 農(nóng)村職業(yè)技能培訓(xùn)與農(nóng)村環(huán)境保護關(guān)系研究
- 化學(xué)穩(wěn)定化研究-洞察及研究
- 中國塑料薄膜市場深度調(diào)查及戰(zhàn)略研究報告(2026版)
- 衛(wèi)生監(jiān)督部門職責(zé)
- 精神科臨床護理帶教老師職責(zé)
- 2025年中國SiC電機控制器行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 2025年中國焊接設(shè)備行業(yè)競爭格局分析及投資規(guī)劃研究報告
- GB/T 3480.1-2019直齒輪和斜齒輪承載能力計算第1部分:基本原理、概述及通用影響系數(shù)
- GB/T 21153-2007土方機械尺寸、性能和參數(shù)的單位與測量準(zhǔn)確度
- GB/T 10045-2001碳鋼藥芯焊絲
- GA/T 1556-2019道路交通執(zhí)法人體血液采集技術(shù)規(guī)范
- GA 533-2005擋煙垂壁
- 復(fù)習(xí)課專題講座課件
- 提高人工氣道氣囊管理正確率品管圈匯報書模板課件
- 2023年景德鎮(zhèn)藝術(shù)職業(yè)大學(xué)輔導(dǎo)員招聘考試筆試題庫及答案解析
- 信號與系統(tǒng)思維導(dǎo)圖(所有內(nèi)容)
- 藥物外滲嚴(yán)重后果以及處理
- 國家職業(yè)教育老年服務(wù)與管理專業(yè)教學(xué)資源庫
評論
0/150
提交評論