資源描述:
《最新matlab編程經(jīng)典例題教學(xué)講義ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、matlab編程經(jīng)典例題3.1M文件3.1.1M文件概述用MATLAB語言編寫的程序,稱為M文件。M文件可以根據(jù)調(diào)用方式的不同分為兩類:命令文件(ScriptFile)和函數(shù)文件(FunctionFile)。例3-1分別建立命令文件和函數(shù)文件,將華氏溫度f轉(zhuǎn)換為攝氏溫度c。程序1:首先建立命令文件并以文件名f2c.m存盤。clear;%清除工作空間中的變量f=input('InputFahrenheittemperature:');c=5*(f-32)/9然后在MATLAB的命令窗口中輸入f2c,將會(huì)執(zhí)行該命
2、令文件,執(zhí)行情況為:InputFahrenheittemperature:73c=22.77783.2程序控制結(jié)構(gòu)3.2.1順序結(jié)構(gòu)1.?dāng)?shù)據(jù)的輸入從鍵盤輸入數(shù)據(jù),則可以使用input函數(shù)來進(jìn)行,該函數(shù)的調(diào)用格式為:A=input(提示信息,選項(xiàng));其中提示信息為一個(gè)字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。如果在input函數(shù)調(diào)用時(shí)采用's'選項(xiàng),則允許用戶輸入一個(gè)字符串。例如,想輸入一個(gè)人的姓名,可采用命令:xm=input('What''syourname?','s');2.?dāng)?shù)據(jù)的輸出MATLAB提供的命令窗
3、口輸出函數(shù)主要有disp函數(shù),其調(diào)用格式為disp(輸出項(xiàng))其中輸出項(xiàng)既可以為字符串,也可以為矩陣。例3-2輸入x,y的值,并將它們的值互換后輸出。程序如下:x=input('Inputxplease.');y=input('Inputyplease.');z=x;x=y;y=z;disp(x);disp(y);例3-3求一元二次方程ax2+bx+c=0的根。程序如下:a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d)
4、)/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);3.程序的暫停暫停程序的執(zhí)行可以使用pause函數(shù),其調(diào)用格式為:pause(延遲秒數(shù))如果省略延遲時(shí)間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。若要強(qiáng)行中止程序的運(yùn)行可使用Ctrl+C命令。3.2.2選擇結(jié)構(gòu)1.if語句在MATLAB中,if語句有3種格式。(1)單分支if語句:if條件語句組end當(dāng)條件成立時(shí),則執(zhí)行語句組,執(zhí)行
5、完之后繼續(xù)執(zhí)行if語句的后繼語句,若條件不成立,則直接執(zhí)行if語句的后繼語句。(2)雙分支if語句:if條件語句組1else語句組2end當(dāng)條件成立時(shí),執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)行if語句的后繼語句。例3-4計(jì)算分段函數(shù)的值。程序如下:x=input('請輸入x的值:');ifx<=0y=(x+sqrt(pi))/exp(2);elsey=log(x+sqrt(1+x*x))/2;endY(3)多分支if語句:if條件1語句組1elseif條件2語句組2……elseif條件
6、m語句組melse語句組nend語句用于實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。例3-5輸入一個(gè)字符,若為大寫字母,則輸出其對應(yīng)的小寫字母;若為小寫字母,則輸出其對應(yīng)的大寫字母;若為數(shù)字字符則輸出其對應(yīng)的數(shù)值,若為其他字符則原樣輸出。c=input('請輸入一個(gè)字符','s');ifc>='A'&c<='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseifc>='a'&c<='z'disp(setstr(abs(c)-abs('a')+abs('A')));elseifc>='0'&c<
7、='9'disp(abs(c)-abs('0'));elsedisp(c);end2.switch語句switch語句根據(jù)表達(dá)式的取值不同,分別執(zhí)行不同的語句,其語句格式為:switch表達(dá)式case表達(dá)式1語句組1case表達(dá)式2語句組2……case表達(dá)式m語句組motherwise語句組nend當(dāng)表達(dá)式的值等于表達(dá)式1的值時(shí),執(zhí)行語句組1,當(dāng)表達(dá)式的值等于表達(dá)式2的值時(shí),執(zhí)行語句組2,…,當(dāng)表達(dá)式的值等于表達(dá)式m的值時(shí),執(zhí)行語句組m,當(dāng)表達(dá)式的值不等于case所列的表達(dá)式的值時(shí),執(zhí)行語句組n。當(dāng)任意一個(gè)分
8、支的語句執(zhí)行完后,直接執(zhí)行switch語句的下一句。例3-6某商場對顧客所購買的商品實(shí)行打折銷售,標(biāo)準(zhǔn)如下(商品價(jià)格用price來表示):price<200沒有折扣200≤price<5003%折扣500≤price<10005%折扣1000≤price<25008%折扣2500≤price<500010%折扣5000≤price14%折扣輸入所售商品的價(jià)格,求其實(shí)際銷售價(jià)格。程序如下:price=