資源描述:
《matlab編程經(jīng)典例題》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第3章MATLAB程序設(shè)計(jì)3.1M文件3.2程序控制結(jié)構(gòu)3.3函數(shù)文件3.4程序舉例3.5程序調(diào)試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=
2、5*(f-32)/9然后在MATLAB的命令窗口中輸入f2c,將會(huì)執(zhí)行該命令文件,執(zhí)行情況為:InputFahrenheittemperature:73c=22.7778程序2:首先建立函數(shù)文件f2c.m。functionc=f2c(f)c=5*(f-32)/9然后在MATLAB的命令窗口調(diào)用該函數(shù)文件。clear;y=input('InputFahrenheittemperature:');x=f2c(y)輸出情況為:InputFahrenheittemperature:70c=21.1111x=21.11
3、113.1.2M文件的建立與打開M文件是一個(gè)文本文件,它可以用任何編輯程序來建立和編輯,而一般常用且最為方便的是使用MATLAB提供的文本編輯器。1.建立新的M文件為建立新的M文件,啟動(dòng)MATLAB文本編輯器有3種方法:(1)菜單操作。從MATLAB主窗口的File菜單中選擇New菜單項(xiàng),再選擇M-file命令,屏幕上將出現(xiàn)MATLAB文本編輯器窗口。(2)命令操作。在MATLAB命令窗口輸入命令edit,啟動(dòng)MATLAB文本編輯器后,輸入M文件的內(nèi)容并存盤。(3)命令按鈕操作。單擊MATLAB主窗口工具欄上
4、的NewM-File命令按鈕,啟動(dòng)MATLAB文本編輯器后,輸入M文件的內(nèi)容并存盤。2.打開已有的M文件打開已有的M文件,也有3種方法:(1)菜單操作。從MATLAB主窗口的File菜單中選擇Open命令,則屏幕出現(xiàn)Open對(duì)話框,在Open對(duì)話框中選中所需打開的M文件。在文檔窗口可以對(duì)打開的M文件進(jìn)行編輯修改,編輯完成后,將M文件存盤。(2)命令操作。在MATLAB命令窗口輸入命令:edit文件名,則打開指定的M文件。(3)命令按鈕操作。單擊MATLAB主窗口工具欄上的OpenFile命令按鈕,再?gòu)膹棾龅膶?duì)
5、話框中選擇所需打開的M文件。3.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提供的命令窗口輸出函數(shù)主要有disp函數(shù),其調(diào)用格式為disp(輸出項(xiàng))其中輸出
6、項(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))/(2*a),(-b-sqrt(d))/(2*a)];disp([
7、'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í)行完之后繼續(xù)執(zhí)行if語句的后繼語句,若條件不成立,則直接執(zhí)行if語句的
8、后繼語句。(2)雙分支if語句:if條件語句組1else語句組2end當(dāng)條件成立時(shí),執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)行if語句的后繼語句。例3-4計(jì)算分段函數(shù)的值。程序如下:x=input('請(qǐng)輸入x的值:');ifx<=0y=(x+sqrt(pi))/exp(2);elsey=log(x+sqrt(1+x*x))/2;endY(3)多分支if語句:if條件1語句組1e