資源描述:
《MATLAB程序設(shè)計(jì)及應(yīng)用實(shí)例.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、5.1MATLAB程序設(shè)計(jì)5.2應(yīng)用實(shí)例第5章MATLAB程序設(shè)計(jì)及應(yīng)用5.1MATLAB程序設(shè)計(jì)5.1.1M文件5.1.2腳本文件和函數(shù)文件5.1.5數(shù)據(jù)的輸入輸出5.1.3選擇結(jié)構(gòu)5.1.4循環(huán)結(jié)構(gòu)5.1.6M文件調(diào)試5.1.1M文件例建立一個(gè)命令文件將變量a,b的值互換,然后運(yùn)行該命令文件。首先建立命令文件并以文件名exch.m存盤(pán):clear;a=1:10;b=[11,12,13,14;15,16,17,18];c=a;a=b;b=c;ab然后在MATLAB的命令窗口中輸入exch,將會(huì)執(zhí)行該命令文件。1.建立新的M文件(1)菜單操作:MATLAB命令窗口的Fi
2、le菜單→New菜單項(xiàng)→M-file命令。(2)命令操作:在MATLAB命令窗口輸入命令edit。(3)命令按鈕操作:?jiǎn)螕鬗ATLAB命令窗口工具欄上的“新建”命令按鈕。2.編輯已有的M文件3.M文件的分類(lèi)P1164.1.2內(nèi)容分類(lèi):腳本文件(ScriptFile)和函數(shù)文件(FunctionFile)。主要區(qū)別。M文件的建立與編輯M文件的基本結(jié)構(gòu)函數(shù)定義行H1行對(duì)程序的總體介紹函數(shù)說(shuō)明對(duì)程序詳細(xì)描述程序主體注釋解釋程序功能的文字說(shuō)明:除程序主體外,其他部分以%開(kāi)頭。P116實(shí)例1腳本文件沒(méi)有輸入和輸出由一系列指令組成可在命令窗口直接運(yùn)行產(chǎn)生的所有變量存儲(chǔ)在worksp
3、ace中。例exam5_1.m。5.1.2腳本文件和函數(shù)文件(1)函數(shù)文件的基本結(jié)構(gòu)函數(shù)文件由function語(yǔ)句引導(dǎo)其基本結(jié)構(gòu)為:function輸出形參表=函數(shù)名(輸入形參表)%注釋說(shuō)明部分函數(shù)體語(yǔ)句2函數(shù)文件函數(shù)文件的格式說(shuō)明(1)關(guān)于函數(shù)文件名:函數(shù)文件名與函數(shù)名也可以不相同(一般設(shè)為相同?。?。當(dāng)兩者不同時(shí),MATLAB將忽略函數(shù)名而確認(rèn)函數(shù)文件名,因此調(diào)用時(shí)使用函數(shù)文件名。(2)關(guān)于注釋說(shuō)明部分。注釋說(shuō)明包括三部分內(nèi)容:①緊隨函數(shù)文件引導(dǎo)行之后以%開(kāi)頭的第一注釋行。②第一注釋行及之后連續(xù)的注釋行。③與在線幫助文本相隔一空行的注釋行。(1)函數(shù)文件的基本結(jié)構(gòu)函數(shù)
4、調(diào)用的一般格式:[輸出實(shí)參表]=函數(shù)名(輸入實(shí)參表)注意:等號(hào)左邊是方括號(hào),右邊輸入?yún)?shù)用括號(hào)(2)函數(shù)文件的調(diào)用例5.1編寫(xiě)函數(shù)文件求半徑為r的圓的面積和周長(zhǎng)function[s,p]=fcircle(r)%FCIRCLEcalculatetheareaandperimeterofacircleofradiir%r圓半徑%s圓面積%p圓周長(zhǎng)s=pi*r*r;p=2*pi*r;以上函數(shù)文件以文件名fcircle.m存入c:matlab7workmas下,然后在MATLAB命令窗口調(diào)用該函數(shù):[s,p]=fcircle(10)函數(shù)的遞歸調(diào)用例:利用遞歸調(diào)用函數(shù)文件f
5、actor.m:functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;end在命令文件main5_1.m中調(diào)用函數(shù)文件factor.m求s=1!+2!+3!+4!+5!。(2)函數(shù)文件的調(diào)用函數(shù)所傳遞參數(shù)的可調(diào)性在調(diào)用函數(shù)時(shí),MATLAB用兩個(gè)永久變量nargin和nargout分別記錄調(diào)用該函數(shù)時(shí)的輸入實(shí)參和輸出實(shí)參的個(gè)數(shù)。只要在函數(shù)文件中包含這兩個(gè)變量,就可以準(zhǔn)確地知道該函數(shù)文件被調(diào)用時(shí)的輸入輸出參數(shù)個(gè)數(shù),從而決定函數(shù)如何進(jìn)行處理例:nargin用法示例(2)函數(shù)文件的調(diào)用函數(shù)文件examp.m:functionfout=
6、charray(a,b,c)ifnargin==1fout=a;elseifnargin==2fout=a+b;elseifnargin==3fout=(a*b*c)/2;end命令文件main5_2.m:x=[1:3];y=[1;2;3];examp(x)examp(x,y')examp(x,y,3)(2)函數(shù)文件的調(diào)用全局變量用命令global定義。函數(shù)文件的內(nèi)部變量是局部的,與其他函數(shù)文件及MATLAB工作空間相互隔離例全局變量應(yīng)用示例。先建立函數(shù)文件wadd.m,該函數(shù)將輸入的參數(shù)加權(quán)相加。functionf=wadd(x,y)globalALPHABETAf=
7、ALPHA*x+BETA*y;在命令窗口中輸入:globalALPHABETAALPHA=1;BETA=2;s=wadd(1,2)(3)全局變量和局部變量5.1.3數(shù)據(jù)的輸入輸出指令input函數(shù)disp函數(shù)pause函數(shù)input函數(shù)調(diào)用格式為:A=input(‘提示信息’,選項(xiàng));其中提示信息為一個(gè)字符串,用于提示用戶輸入什么樣的數(shù)據(jù)。如果在input函數(shù)調(diào)用時(shí)采用's'選項(xiàng),則允許用戶輸入一個(gè)字符串。例如,想輸入一個(gè)人的姓名,可采用命令:xm=input('Whatisyourname?','s')disp函數(shù)調(diào)用格式為disp(輸