資源描述:
《《MATLAB程序設(shè)計》PPT課件》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第2章MATLAB程序設(shè)計電子工程學(xué)院·通信工程專業(yè)【本章學(xué)習(xí)目標(biāo)】掌握建立和執(zhí)行M文件的方法;掌握利用if語句、switch語句實現(xiàn)選擇結(jié)構(gòu)的方法;掌握利用for語句、while語句實現(xiàn)循環(huán)結(jié)構(gòu)的方法;熟悉利用向量運算來代替循環(huán)操作的方法;掌握定義和調(diào)用MATLAB函數(shù)的方法。目錄2.1M文件2.2程序控制結(jié)構(gòu)2.3函數(shù)文件2.4程序調(diào)試2.5程序性能分析與優(yōu)化2.1M文件MATLAB命令的兩種執(zhí)行方式交互式的命令執(zhí)行方式:CommandWindowM文件的程序執(zhí)行方式2.1.1M文件的建立與打開1.建立新的M文件(1)命令按鈕操作。(2)菜單操作。(3)命令操作edi
2、t2.打開已有的M文件2.1.2M文件的分類M文件可以根據(jù)調(diào)用方式的不同分為兩類:命令文件(ScriptFile)和函數(shù)文件(FunctionFile)。(1)命令文件沒有輸入?yún)?shù),也不返回輸出參數(shù),而函數(shù)文件可以帶輸入?yún)?shù),也可返回輸出參數(shù)。(2)命令文件對MATLAB工作空間中的變量進(jìn)行操作,文件中所有命令的執(zhí)行結(jié)果也完全返回到工作空間中,而函數(shù)文件中定義的變量為局部變量,當(dāng)函數(shù)文件執(zhí)行完畢時,這些變量被清除。(3)命令文件可以直接運行,在MATLAB命令窗口輸入命令文件的名字,就會順序執(zhí)行命令文件中的命令,而函數(shù)文件不能直接運行,而要以函數(shù)調(diào)用的方式來調(diào)用它?!纠?
3、.1】建立一個M文件,其功能是:用兩個實變量R、M生成復(fù)變量RM,然后運行該M文件。程序1:建立一個命令文件。建立命令文件setcomp.mclear;R=[1,2,3;4,5,6];M=[11,12,13;14,15,16];RM=R+i*M然后在MATLAB的命令窗口中輸入setcomp,將會執(zhí)行該命令文件,輸出為RM=1.0000+11.0000i2.0000+12.0000i3.0000+13.0000i4.0000+14.0000i5.0000+15.0000i6.0000+16.0000i程序2:建立一個函數(shù)文件。首先建立函數(shù)文件fsetcomp.mfunct
4、ionRM=fsetcomp(R,M)RM=R+i*M;然后再MATLAB的命令窗口調(diào)用該函數(shù)文件:clear;a=[1,2,3;4,5,6];b=[11,12,13;14,15,16];c=fsetcomp(a,b)輸出結(jié)果為c=1.0000+11.0000i2.0000+12.0000i3.0000+13.0000i4.0000+14.0000i5.0000+15.0000i6.0000+16.0000i2.2程序控制結(jié)構(gòu)2.2.1順序結(jié)構(gòu)順序結(jié)構(gòu)是指按照程序中語句的排列順序依次執(zhí)行,一般涉及數(shù)據(jù)的輸入、數(shù)據(jù)的計算或處理、數(shù)據(jù)的輸出等內(nèi)容。1.?dāng)?shù)據(jù)的輸入從鍵盤輸入數(shù)據(jù)
5、,則可以使用input函數(shù)來進(jìn)行,該函數(shù)的調(diào)用格式為A=input(提示信息,選項);其中,“提示信息”為一個字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。例如,從鍵盤輸入A矩陣,可以采用下面的命令來完成:A=input('輸入A矩陣:');如果在input函數(shù)調(diào)用時采用's'選項,則允許用戶輸入一個字符串。例如,想輸入一個人的姓名,可采用命令:xm=input('What''syourname?','s');2.?dāng)?shù)據(jù)的輸出MATLAB提供的命令窗口輸出函數(shù)主要有disp函數(shù),其調(diào)用格式為disp(輸出項)其中,輸出項既可以為字符串,也可以為矩陣。例如:A='Hello,Worl
6、d!';disp(A)【例2.2】求一元二次方程ax2+bx+c=?0的根。由于MATLAB能進(jìn)行復(fù)數(shù)運算,所以不需要判斷方程的判別式,而直接根據(jù)求根公式求根。程序如下: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)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);3.程序的暫停當(dāng)程序運行時,為了查看程序的中間結(jié)果或者觀看輸出的圖形,有時需要暫停程序的執(zhí)行。這時可以使用pau
7、se函數(shù),其調(diào)用格式為pause(延遲秒數(shù))如果省略延遲時間,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。若要強(qiáng)行中止程序的運行可使用Ctrl+C組合鍵。2.2.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)是根據(jù)給定的條件成立或不成立,分別執(zhí)行不同的語句。1.if語句(1)單分支if語句:if條件語句塊end當(dāng)條件成立時,則執(zhí)行語句組,執(zhí)行完之后繼續(xù)執(zhí)行if語句的后繼語句,若條件不成立,則直接執(zhí)行if語句的后繼語句。(2)雙分支if語句:if條件語句塊1else語句塊2end當(dāng)條件成立時,執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)