實(shí)驗(yàn)五 MATLAB的程序設(shè)計(jì)_第1頁(yè)
實(shí)驗(yàn)五 MATLAB的程序設(shè)計(jì)_第2頁(yè)
實(shí)驗(yàn)五 MATLAB的程序設(shè)計(jì)_第3頁(yè)
實(shí)驗(yàn)五 MATLAB的程序設(shè)計(jì)_第4頁(yè)
實(shí)驗(yàn)五 MATLAB的程序設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

實(shí)驗(yàn)五MATLAB的程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康氖煜ATLAB的編程環(huán)境;熟悉和掌握腳本文件和函數(shù)文件建立與使用方法;掌握MATLAB程序設(shè)計(jì)的流程控制語(yǔ)句;掌握函數(shù)調(diào)用和參數(shù)傳遞;熟悉MATLAB程序調(diào)試方法。二、實(shí)驗(yàn)儀器1.計(jì)算機(jī)2.MATLAB軟件環(huán)境三、實(shí)驗(yàn)指導(dǎo)1.M文本文件介紹一個(gè)M文件通常包含五個(gè)部分,函數(shù)定義語(yǔ)句、H1幫助行、幫助文本、函數(shù)體或者腳本文件語(yǔ)句和注釋語(yǔ)句。一個(gè)完整的M文件的結(jié)構(gòu)為:functionf=fact(n)函數(shù)定義語(yǔ)句%Computeafactorialvalue.H1行%FACT(N)returnsthefactorialofN,幫助文本%usuallydenotedbyN!%Putsimply,FACT(N)isPROD(1:N).注釋語(yǔ)句f=prod(1:n);函數(shù)體函數(shù)定義語(yǔ)句只在函數(shù)文件中存在,定義函數(shù)名稱(chēng)、輸入輸出參數(shù)的數(shù)量和順序。函數(shù)定義語(yǔ)句的格式為:functiony=fact(x)2.函數(shù)流程控制順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡(jiǎn)單的程序結(jié)構(gòu),系統(tǒng)在編譯程序時(shí),按照程序的物理位置順序執(zhí)行。這種程序容易編制,但是結(jié)構(gòu)單一,能夠?qū)崿F(xiàn)的功能有限。判斷語(yǔ)句(if…else…end)if…endif…else…endif…elseif…else…end1)if…end此時(shí)的程序結(jié)構(gòu)如下:if表達(dá)式執(zhí)行代碼塊end這是最簡(jiǎn)單的判斷語(yǔ)句,只有一個(gè)判斷語(yǔ)句,其中的表達(dá)式為邏輯表達(dá)式,當(dāng)表達(dá)式為真時(shí),執(zhí)行相應(yīng)的語(yǔ)句,否則,直接跳到下一段語(yǔ)句。2)if…else…end當(dāng)程序有兩個(gè)選擇時(shí),可以選擇if…else…end結(jié)構(gòu),此時(shí)程序結(jié)構(gòu)為:if表達(dá)式執(zhí)行代碼塊1else執(zhí)行代碼塊2end當(dāng)判斷表達(dá)式為真時(shí),執(zhí)行代碼塊1,否則執(zhí)行代碼塊2。3)if…elseif…else…end上面的兩種形式中,分別包含一個(gè)選擇和兩個(gè)選擇,當(dāng)判斷包含多個(gè)選擇時(shí),可以采用elseif語(yǔ)句,結(jié)構(gòu)為:if表達(dá)式1執(zhí)行代碼塊1elseif表達(dá)式2執(zhí)行代碼塊2elseif..................else執(zhí)行代碼塊end其中可以包含任意多個(gè)elseif語(yǔ)句。分支語(yǔ)句MATLAB中的另一種多選擇語(yǔ)句為分支語(yǔ)句。分支語(yǔ)句的結(jié)構(gòu)為:switch分支語(yǔ)句case條件語(yǔ)句執(zhí)行代碼塊case{條件語(yǔ)句1,條件語(yǔ)句2,條件語(yǔ)句3,...}執(zhí)行代碼塊otherwise執(zhí)行代碼塊end循環(huán)語(yǔ)句1)for語(yǔ)句for語(yǔ)句將相同的代碼執(zhí)行預(yù)定義的次數(shù)。for語(yǔ)句的結(jié)構(gòu)為:for循環(huán)變量=表達(dá)式執(zhí)行代碼塊end2)while語(yǔ)句while語(yǔ)句用于將相同的代碼塊執(zhí)行多次,但是次數(shù)并不預(yù)先指定,當(dāng)while的條件表達(dá)式為真時(shí),執(zhí)行代碼塊,直到條件表達(dá)式為假。while語(yǔ)句的結(jié)構(gòu)為:while表達(dá)式執(zhí)行代碼塊endtry…catch…end語(yǔ)句MATLAB中的另一種判斷語(yǔ)句為try…catch語(yǔ)句,這種語(yǔ)句可以包容程序運(yùn)行中的錯(cuò)誤,并返回錯(cuò)誤類(lèi)型。這種語(yǔ)句的結(jié)構(gòu)為:try運(yùn)行代碼塊catch運(yùn)行代碼塊end該語(yǔ)句首先從上到下依次執(zhí)行,如果遇到程序錯(cuò)誤則運(yùn)行下一個(gè)catch中的語(yǔ)句,依次向下進(jìn)行。如果程序運(yùn)行成功,則退出該判斷語(yǔ)句。如果在catch和end之間的程序運(yùn)行出錯(cuò),則程序運(yùn)行終止,或者如果存在其他的try…catch結(jié)構(gòu),則運(yùn)行下一個(gè)try…catch結(jié)構(gòu)??梢岳胠asterr命令查看發(fā)生錯(cuò)誤的原因。其他流程控制函數(shù)1)continue:continue語(yǔ)句通常用在循環(huán)控制中,包括for循環(huán)和while循環(huán),用于結(jié)束當(dāng)次循環(huán),繼續(xù)執(zhí)行下一次循環(huán),但是不結(jié)束當(dāng)前循環(huán)。一般continue語(yǔ)句與if語(yǔ)句相結(jié)合,當(dāng)滿足一定的條件時(shí),執(zhí)行continue語(yǔ)句。2)break:與continue相同的是,break函數(shù)也是用于循環(huán)控制,中斷當(dāng)前循環(huán)。與continue不同,break跳出當(dāng)前循環(huán),不再執(zhí)行該循環(huán)的任何操作。3)return:結(jié)束該程序的執(zhí)行,返回到調(diào)用函數(shù)或者鍵盤(pán)。3.MATLAB編程錯(cuò)誤處理通過(guò)try-catch語(yǔ)句檢測(cè)錯(cuò)誤MATLAB中的try-catch語(yǔ)句可用于錯(cuò)誤檢測(cè)。如果程序中的一些語(yǔ)句可能會(huì)產(chǎn)生非預(yù)計(jì)的結(jié)果,可以將這些語(yǔ)句放在try-catch塊中。try-catch語(yǔ)句可以檢測(cè)所有錯(cuò)誤,并且分別進(jìn)行處理。格式如下:try表達(dá)式1catch表達(dá)式2End4.調(diào)試程序MATLAB語(yǔ)言具有強(qiáng)大的運(yùn)算能力,指令系統(tǒng)簡(jiǎn)單,因此程序通常非常簡(jiǎn)潔。對(duì)于簡(jiǎn)單的程序可以采用直接調(diào)試的方法。在程序調(diào)試時(shí),程序運(yùn)行中變量的值為一個(gè)重要的線索。因此,查看變量值為程序調(diào)試的重要線索,由于在函數(shù)調(diào)用時(shí)只返回最后的輸出參數(shù),而不返回中間變量,因此,可以選擇下面的方法查看程序運(yùn)行中的變量值。(1)通過(guò)分析后,將可能出錯(cuò)的語(yǔ)句后面的分號(hào)(;)刪除,將結(jié)果顯示在命令窗口中,與預(yù)期值進(jìn)行比較;(2)利用函數(shù)disp顯示中間變量的值;(3)在程序中的適當(dāng)位置添加keyboard指令。當(dāng)MATLAB執(zhí)行至此處時(shí)將暫停,等待用戶反應(yīng)。當(dāng)程序運(yùn)行至此時(shí)將暫停,在命令窗口中顯示k>>提示符,用戶可以查看工作區(qū)中的變量,可以改變變量的值。輸入return指定返回程序,繼續(xù)運(yùn)行。(4)在調(diào)試一個(gè)單獨(dú)的函數(shù)時(shí),可以將函數(shù)改寫(xiě)為腳本文件,此時(shí)可以直接對(duì)輸入?yún)?shù)賦值,然后以腳本方式運(yùn)行該M文件,這樣可以保存中間變量,在運(yùn)行完成后,可以查看中間變量的值,對(duì)結(jié)果進(jìn)行分析,查找錯(cuò)誤所在。四、實(shí)驗(yàn)內(nèi)容編寫(xiě)MATLAB程序,對(duì)出現(xiàn)的錯(cuò)誤進(jìn)行識(shí)別及改正,對(duì)程序進(jìn)行簡(jiǎn)單調(diào)試。將結(jié)果寫(xiě)入實(shí)驗(yàn)報(bào)告。1.設(shè)某批發(fā)貿(mào)易公司從事蘋(píng)果批發(fā),當(dāng)客戶購(gòu)買(mǎi)5000件以上,15元/件;2500~5000件,16元/件;1000~2500件,17元/件;500~1000件,18元/件;250~500件,19元/件;100~250件,20元/件;50~100件,22元/件;10~50件,24元/件;9件以下,28元/件。試編寫(xiě)程序根據(jù)客戶購(gòu)買(mǎi)的件數(shù),求出總的金額數(shù)。(必做)2.編寫(xiě)腳本文件,實(shí)現(xiàn)用magic(6)產(chǎn)生一矩陣,用for循環(huán)指令求解其所有元素的和。(必做)3.編寫(xiě)一個(gè)函數(shù)文件求三個(gè)數(shù)的最大值。(必做)4.編寫(xiě)一個(gè)文件名為factor.m函數(shù)文件,實(shí)現(xiàn)利用函數(shù)的遞歸調(diào)用,求n!。(必做)5.在命令文件main2.m中調(diào)用函數(shù)文件factor.m求s=1!+2!+3!+4!+5!。試編寫(xiě)文件main2.m。(必做)6.編寫(xiě)一個(gè)腳本文件,從鍵盤(pán)輸入若干個(gè)數(shù),當(dāng)輸入0時(shí)結(jié)束輸入,求這些數(shù)的平均值和它們之和。(選

溫馨提示

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