資源描述:
《第4講 Matlab程序設計ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第四講Matlab程序設計第四講主要內(nèi)容M文件程序控制結(jié)構(gòu)函數(shù)文件程序調(diào)試1、M文件Matlab命令執(zhí)行方式交互式命令執(zhí)行方式:在命令窗口逐行輸入命令,逐行解釋執(zhí)行;簡單、直觀,但速度慢,執(zhí)行過程不能保留;M文件的程序執(zhí)行方式:將有關命令編成程序存儲在一個M文件中。1、M文件1.1M文件的分類用MATLAB語言編寫的程序,稱為M文件,擴展名為.m。M文件可以根據(jù)調(diào)用方式的不同分為兩類:命令文件(ScriptFile)和函數(shù)文件(FunctionFile)。1、M文件(1)命令文件與函數(shù)文件的區(qū)別命令文
2、件沒有輸入?yún)?shù),也不返回輸出參數(shù),而函數(shù)文件可以帶輸入?yún)?shù),也可返回輸出參數(shù);命令文件對工作空間中的變量進行操作,文件中所有命令的執(zhí)行結(jié)果也完全返回到工作空間,而函數(shù)文件中定義的變量為局部變量,當函數(shù)執(zhí)行完畢時,這些變量被清除;命令文件可以在命令窗口輸入文件名字直接運行,而函數(shù)文件需要以調(diào)用的方式來調(diào)用它。1、M文件例:實現(xiàn)變量a、b的值互換首先建立命令文件,并以文件名exch.m保存clear;a=1:10;b=[1112131415161718];c=a;a=b;b=c;ab然后在命令窗口中輸入e
3、xch,將會執(zhí)行,輸出為:>>excha=1112131415161718b=12345678910首先建立函數(shù)文件fexch.mfunction[a,b]=fexch(a,b)c=a;a=b;b=c;然后在命令窗口調(diào)用該函數(shù)文件clear;x=1:10;y=[1112131415161718];[x,y]=fexch(x,y)輸出結(jié)果同上。1、M文件1.2M文件的建立M文件是一個文本文件,它可以用任何編輯程序來建立和編輯,而一般常用且最為方便的是使用MATLAB提供的文本編輯器。建立新的M文件菜單操
4、作;命令操作,在MATLAB命令窗口輸入命令edit;命令按鈕操作;1、M文件1.3打開已有的M文件菜單操作;命令操作:在MATLAB命令窗口中輸入edit文件名;命令按鈕操作。2、程序控制結(jié)構(gòu)2.1順序結(jié)構(gòu)順序結(jié)構(gòu)是按照程序中的語句排列順序依次執(zhí)行,直到程序的最后一個語句。(1)數(shù)據(jù)輸入從鍵盤輸入數(shù)據(jù):A=input(提示信息,選項);其中提示信息為一個字符串,用于提示用戶輸入什么樣的數(shù)據(jù);如果在input函數(shù)調(diào)用時采用's'選項,則允許用戶輸入一個字符串。2、程序控制結(jié)構(gòu)(2)數(shù)據(jù)輸出MATLAB
5、提供的命令窗口輸出函數(shù)主要有disp函數(shù),其調(diào)用格式為disp(輸出項)其中輸出項既可以為字符串,也可以為矩陣。2、程序控制結(jié)構(gòu)例:輸入x,y的值,并將它們的值互換后輸出。x=input('Inputxplease.');y=input('Inputyplease.');z=x;x=y;y=z;disp(x);disp(y);2、程序控制結(jié)構(gòu)例求一元二次方程ax2+bx+c=0的根。a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[
6、(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]);輸入a=4,b=78,c=54和a=23,b=-6,c=51分別觀察結(jié)果2、程序控制結(jié)構(gòu)(3)程序的暫停暫停程序的調(diào)用格式為:pause(延遲秒數(shù))如果省略延遲時間,直接使用pause,則將暫停程序,直到用戶按任一鍵后程序繼續(xù)執(zhí)行。若要強行中止程序的運行可使用Ctrl+C命令。2、程序控制結(jié)構(gòu)2.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)是根據(jù)給定的條
7、件成立或不成立,分別執(zhí)行不同的語句用于實現(xiàn)選擇結(jié)構(gòu)的語句if語句switch語句try語句2、程序控制結(jié)構(gòu)(1)if語句if語句有單分支結(jié)構(gòu),雙分支和多分支結(jié)構(gòu)單分支if語句if條件語句組end當條件成立時,則執(zhí)行語句組,執(zhí)行完之后繼續(xù)執(zhí)行if語句的后繼語句;若條件不成立,則直接執(zhí)行if語句的后繼語句。2、程序控制結(jié)構(gòu)(1)if語句if語句有單分支結(jié)構(gòu),雙分支和多分支結(jié)構(gòu)雙分支if語句if條件語句組1else語句組2end當條件成立時,執(zhí)行語句組1,否則執(zhí)行語句組2,語句組1或語句組2執(zhí)行后,再執(zhí)行i
8、f語句的后繼語句。例如:計算分段函數(shù)運用單分支if語句編程x=input('請輸入的值');y=cos(x+1)+sqrt(x*x+1);ifx~=10y=x*sqrt(x+sqrt(x));endy2、程序控制結(jié)構(gòu)運用雙分支if語句編程x=input('請輸入的值');ifx==10y=cos(x+1)+sqrt(x*x+1);elsey=x*sqrt(x+sqrt(x));endyx=input('請輸入的值');ifx~=10y=x*sqrt(x+