第四章MALAB的程序設(shè)計(jì)和調(diào)試_第1頁(yè)
第四章MALAB的程序設(shè)計(jì)和調(diào)試_第2頁(yè)
第四章MALAB的程序設(shè)計(jì)和調(diào)試_第3頁(yè)
第四章MALAB的程序設(shè)計(jì)和調(diào)試_第4頁(yè)
第四章MALAB的程序設(shè)計(jì)和調(diào)試_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第四章MATLAB的程序設(shè)計(jì)和調(diào)試4.3腳本文件和函數(shù)文件4.3.1M腳本文件(一)腳本文件的特點(diǎn):它只是一串按用戶意圖排列而成的(包括控制流向指令在內(nèi)的)MATLAB指令集合腳本文件運(yùn)行后,所產(chǎn)生的所有變量都駐留在MATLAB基本工作空間(BaseWorkspace)中。只要用戶不使用clear指令加以清除,且MATLAB指令窗不關(guān)閉,這些變量將一直保存在基本工作空間中?;究臻g將隨MATLAB的啟動(dòng)而產(chǎn)生;只有關(guān)閉MATLAB時(shí),該基本工作空間才被刪除。(二)M腳本文件的編寫(xiě)和運(yùn)行(1)編寫(xiě)M腳本文件的步驟點(diǎn)擊MATLAB指令窗工具條上的NewFile圖標(biāo),就可打開(kāi)MATLAB文件編輯調(diào)試器MATLABEditor/Debugger,其窗口名為untitled,用戶即可在空白窗口中編寫(xiě)程序。編輯完程序,點(diǎn)擊編輯調(diào)試器工具條上的保存圖標(biāo),在彈出的Windows標(biāo)準(zhǔn)風(fēng)格的“保存為”對(duì)話框中,選擇保存文件夾,鍵入新編文件的文件名,點(diǎn)【保存】鍵,就完成了文件的保存。(2)運(yùn)行文件使剛剛保存的文件所在的目錄成為當(dāng)前目錄,或讓該目錄處在MATLAB的搜索路徑上。直接在命令窗口鍵入運(yùn)行文件的文件名或在編輯器窗口中直接點(diǎn)擊工具條上的運(yùn)行按鈕都可運(yùn)行該M文件。4.3.2M函數(shù)文件(一)M函數(shù)文件的特點(diǎn)從形式上看,與腳本文件不同,函數(shù)文件的第一行總是一“function”引導(dǎo)的“函數(shù)申明行(FunctionDeclarationline)”。該行還羅列出函數(shù)與外界的聯(lián)系的全部“標(biāo)稱(chēng)”輸入輸出宗量。但對(duì)“輸入輸出宗量”的標(biāo)稱(chēng)數(shù)目并沒(méi)有限制,既可以完全沒(méi)有輸入輸出宗量,也可以時(shí)任意數(shù)目。MATLAB允許使用比“標(biāo)稱(chēng)數(shù)目”較少的輸入輸出宗量,實(shí)現(xiàn)對(duì)函數(shù)的調(diào)用。從運(yùn)行上看,與腳本文件不同,每當(dāng)函數(shù)文件運(yùn)行,MATLAB就會(huì)專(zhuān)門(mén)為它開(kāi)辟一個(gè)臨時(shí)工作空間(Contextworkspace)。該空間稱(chēng)之為函數(shù)工作空間(Functionworkspace)。所有中間變量都存放在函數(shù)工作空間中。當(dāng)執(zhí)行完文件最后一條指令時(shí),或遇到return指令,就結(jié)束該函數(shù)文件的運(yùn)行,同時(shí)該臨時(shí)函數(shù)空間及其所有的中間變量就立即被清除。函數(shù)空間隨具體M函數(shù)文件的被調(diào)用而產(chǎn)生,隨調(diào)用的結(jié)束而刪除。函數(shù)空間是相對(duì)基本空間獨(dú)立的、臨時(shí)的。在MATLAB整個(gè)運(yùn)行期間,可以產(chǎn)生任意多個(gè)臨時(shí)函數(shù)空間。假如在函數(shù)文件中,發(fā)生對(duì)某腳本文件的調(diào)用,那么該腳本文件運(yùn)行產(chǎn)生的所有變量都存放于那函數(shù)空間之中,而不是存放在基本空間。4.3.3局部變量和全局變量(1)局部(Local)變量存在于函數(shù)空間內(nèi)部的中間變量,產(chǎn)生于該函數(shù)的運(yùn)行過(guò)程中,其影響范圍僅限于該函數(shù)本身。(2)全局(Global)變量通過(guò)global指令,MATLAB也允許幾個(gè)不同的函數(shù)空間以及基本工作空間共享同一個(gè)變量。這種被共享的變量稱(chēng)為全局變量。每個(gè)希望共享全局變量的函數(shù)或MATLAB基本工作空間,必須逐個(gè)用global對(duì)其具體變量加以專(zhuān)門(mén)定義。沒(méi)采用global定義的函數(shù)或基本工作空間,將無(wú)權(quán)享用全局變量。補(bǔ)充說(shuō)明:如果某個(gè)函數(shù)的運(yùn)作使全局變量的內(nèi)容發(fā)生了變化,那么其它函數(shù)空間以及基本工作空間中的同名變量也隨之變化。除非與全局變量聯(lián)系的所有工作空間都被刪除,否則全局變量依然存在。對(duì)全局變量的定義必須在該變量被使用之前進(jìn)行。建議把全局變量的定義放在函數(shù)體的首行位置。雖然MATLAB對(duì)全局變量的名字并沒(méi)有任何特別的限制,但是為了提高M(jìn)文件的可讀性,建議使用大寫(xiě)字符命名全局變量。4.3.4M文件的一般結(jié)構(gòu)典型M函數(shù)文件的結(jié)構(gòu)如下:函數(shù)申明行(Functiondeclarationline):位于函數(shù)文件的首行,以MATLAB關(guān)鍵字function開(kāi)頭,函數(shù)名以及函數(shù)的輸入輸出宗量都在這一行被定義。H1行(Thefirsthelptextline);緊隨函數(shù)聲明行之后以%號(hào)開(kāi)頭的第一注釋行。按MATLAB自身文件的規(guī)則,H1行包含:大寫(xiě)字體的函數(shù)文件名和運(yùn)用關(guān)鍵詞簡(jiǎn)要描述的函數(shù)功能。該H1行供lookfor關(guān)鍵詞查詢(xún)和help在線幫助使用在線幫助文本(Helptext)區(qū):H1行及其之后的連續(xù)的以%開(kāi)頭的所有注釋行構(gòu)成整個(gè)在線幫助文本。它通常包括:函數(shù)輸入輸出宗量的含義;調(diào)用格式說(shuō)明。編寫(xiě)和修改記錄:它與在線幫助文本區(qū)相隔一個(gè)“空”行;也以%開(kāi)頭;標(biāo)志編寫(xiě)及修改M文件的作者和日期;版本記錄。它用作軟件檔案管理。函數(shù)體(Functionbody):為清晰起見(jiàn),它與前面的注釋以“空”行相隔。這部分內(nèi)容由實(shí)現(xiàn)M函數(shù)功能的MATLAB指令組成。它接收輸入宗量,進(jìn)行程序流控制,得到輸出宗量。其中為閱讀、理解方便,也配置適當(dāng)?shù)目招泻妥⑨尅H魞H從運(yùn)算的角度看,唯“函數(shù)申明行”和“函數(shù)體”兩部分是構(gòu)成M函數(shù)文件所必不可少的。4.3.6子函數(shù)和私用函數(shù)1.子函數(shù)MATLAB允許一個(gè)M函數(shù)文件包含多個(gè)函數(shù)的代碼。其中第一個(gè)出現(xiàn)的那個(gè)函數(shù)稱(chēng)為主函數(shù)(Primaryfunction),該文件中的其他函數(shù)則稱(chēng)為子函數(shù)(Subfunction)。保存時(shí)所用函數(shù)名與主函數(shù)定義名相同。外部程序只能對(duì)主函數(shù)進(jìn)行調(diào)用。子函數(shù)的性質(zhì):每個(gè)子函數(shù)的第1行是其自己的函數(shù)申明行。在M函數(shù)文件內(nèi),主函數(shù)的位置不可改變,但子函數(shù)的排列次序可以任意改變。子函數(shù)智能被處于同一文件的主函數(shù)或其它其函數(shù)調(diào)用。在M函數(shù)文件中,任何指令通過(guò)“名字”對(duì)函數(shù)進(jìn)行調(diào)用時(shí),子函數(shù)的優(yōu)先級(jí)僅次于內(nèi)裝函數(shù)。同一文件的主函數(shù)、子函數(shù)的工作空間都是彼此獨(dú)立的。各函數(shù)間的信息,或通過(guò)輸入輸出變量傳遞,或通過(guò)全局變量傳遞,或通過(guò)跨空間指令傳遞。help,lookfor等幫助指令都不能提供關(guān)于子函數(shù)的任何幫助信息。2.私用函數(shù)所謂私用函數(shù),是指位于private目錄上的M文件函數(shù)。它有如下性質(zhì):私用函數(shù)的構(gòu)造與普通M函數(shù)完全相同。私用函數(shù)只能被private直接父目錄上的M文件所調(diào)用,而不能被其它目錄上的任何M文件或MATLAB指令窗中的命令所調(diào)用。M文件中,任何指令通過(guò)“名字”對(duì)函數(shù)進(jìn)行調(diào)用時(shí),私用函數(shù)的優(yōu)先級(jí)雖低于內(nèi)裝函數(shù)和子函數(shù),但高于其它任何目錄上的函數(shù)。help,lookfor等指令都不能提供關(guān)于私用函數(shù)的任何幫助信息。4.3.7MATLAB的搜索過(guò)程假設(shè)MATLAB在一個(gè)文件中碰到指令cow時(shí),它將按以下步驟逐步進(jìn)行檢索:(1)檢查cow是否一個(gè)變量名;如果不是,執(zhí)行下一步;(2)檢查cow是不是內(nèi)建函數(shù)(Built-inFunction);假如不是,執(zhí)行下一步;(3)檢查cow是不是cow所在的M文件中的一個(gè)子函數(shù);假如不是,再往下執(zhí)行(4)檢查cow是不是cow所在的M文件中的一個(gè)私用函數(shù)(先找cow.p,然后是cow.m);假如不是,再往下執(zhí)行;(5)檢查cow是不是當(dāng)前目錄上的文件(先找cow.p,然后是cow.m);假如不是,再往下執(zhí)行;(6)檢查搜索路徑上是否有cow存在(先找cow.p,然后是cow.m)。MATLAB將使用最先找到的那個(gè)cow。如果一直找不到cow,MATLAB就給出錯(cuò)誤提示信息。4.4MATLAB控制流4.4.1for循環(huán)結(jié)構(gòu)for循環(huán)結(jié)構(gòu)的語(yǔ)法形式:forx=array(commands)end說(shuō)明:循環(huán)體的執(zhí)行次數(shù)由for指令后面的數(shù)組array的列數(shù)決定。在for后面的表達(dá)式中的數(shù)組可以偽任何合法的MATLAB數(shù)組。循環(huán)結(jié)構(gòu)可以嵌套使用。為了得到高效代碼,應(yīng)盡量提高代碼的向量化程度,而避免使用循環(huán)結(jié)構(gòu)。為了得到高效代碼,在循環(huán)指令之前應(yīng)盡量對(duì)數(shù)組進(jìn)行預(yù)定義?!纠?.屠3.醫(yī)1-難1】一個(gè)改簡(jiǎn)單紛的fo烘r循環(huán)離示例粒。fo學(xué)r效i=植1:怖10陡;x(阻i)=容i;en鐵d;x4.樂(lè)4.胸2指wh悅il龜e循環(huán)敢結(jié)構(gòu)wh革il液e循環(huán)獎(jiǎng)結(jié)構(gòu)矮的語(yǔ)次法形假式為共:wh橫il錦e旨ex蘭pr鋒es恐si章on(c垃om承ma找nd勻s)En周d說(shuō)明坐:在wh夏il瓶e和en字d之間尚的“耐組命謝令”復(fù)被稱(chēng)寧為循裁環(huán)體倒。當(dāng)MA擺TL搶AB碰到wh躍il殲e指令吉時(shí),競(jìng)首先剪檢測(cè)ex味pr足es欺si棟on的值嘩,如集其值擦為邏貝輯真晌(非0),悔則執(zhí)階行組厘命令研。當(dāng)盒組命乎令執(zhí)單行完渣畢,山繼續(xù)秘檢測(cè)珠表達(dá)敢式的扮值,奇若表子達(dá)式舍值仍論為真熔,循引環(huán)執(zhí)忽行組趁命令敵;而店一旦申表達(dá)拍式值儀為假堆時(shí),旺結(jié)束凈循環(huán)險(xiǎn)?!纠?.俯3.賽2-堡1】誤Fi扎bo售na缸cc巡壽i數(shù)組資的元朱素滿傭足Fi窯bo滾na姿cc萄i規(guī)則帳:丹,沙;且槽?,F(xiàn)帶要求累該數(shù)拿組中居第一炊個(gè)大亞于10胖00策0的元循素。a(滾1)少=1匹;a(廉2)接=1溝;i=監(jiān)2;wh誤il心ea(嚇i)<往=1販00順00a(取i+丹1)溪=a姐(i輩-1富)+昆a(為i)卻;i=曲i+座1;en專(zhuān)d;ia(填i)4.字4.閣3洋if觸-e貍ls喬e-壁en沃d分支閘結(jié)構(gòu)指令揀形式1:if再e左xp次re航ss憲io捏n(c兩om罪ma航nd拳s)en啊d指令柴形式2:if握e翁xp圾re冊(cè)ss纖io第n(c衰om概ma嚴(yán)nd峽s1筒)el旱se錦(賣(mài)co郊mm餃an企ds鞋2)en個(gè)d指令鵲形式3:if稀e潔xp斤re若ss伙io舟n1(c初om充ma詞nd閣s1饅)el趟se黎if(e席xp菜re仍ss寨io合n2炸)(c游om議ma侄nd把s2券)……el雨se府(c中om墊ma賓nd效sk)en龜d說(shuō)明冊(cè):表達(dá)輔式有較時(shí)由蹄多個(gè)挪邏輯竹表達(dá)蓄式組砌成,MA日TL升AB將盡逝可能籃少的堡檢測(cè)慣子表筍達(dá)式笛的值漁。例姜如,康表達(dá)芝式為吊(子蹲表達(dá)損式1|表達(dá)酒式2),運(yùn)當(dāng)MA源TL祖AB檢測(cè)盛到子絹表達(dá)槍式1的值薄為真若時(shí),輕它就趴認(rèn)為覽表達(dá)與式值陶為真甘,而御不再漲對(duì)表抵達(dá)式2進(jìn)行蓮檢測(cè)哲。又拒如表鑒達(dá)式1&表達(dá)劍式2)當(dāng)MA臘TL栽AB檢測(cè)邀到子別表達(dá)臟式1的值割為假現(xiàn)時(shí),界它就毀認(rèn)為椒表達(dá)鐵式值細(xì)為假珍的,特從而殖跳過(guò)沒(méi)該結(jié)麥構(gòu)。if指令淺判決和和br笑ea系k指令切的配興合使宣用,怕可以思強(qiáng)制他終止fo擔(dān)r循環(huán)景或wh粱il銅e循環(huán)弊?!纠?.悔3.煩3-幼2】用fo刪r循環(huán)活指令傾來(lái)尋歷求Fi身bo禮na布cc數(shù)組對(duì)中第醫(yī)一個(gè)膨大于10秧00株0的元角素。n=挨10主0;a=乞on科es拜(1落,n志);fo廟r捧i=桑3:急na(憐i)=將a(值i-艦1)錘+a建(i損-2寄);ifa(芳i)>嬌=1餅00漂00a(逮i),br澆ea冊(cè)k;en街d;en窩di4.立4.督4圍sw杜it箭ch長(zhǎng)-c腳as姨e結(jié)構(gòu)語(yǔ)法寇結(jié)構(gòu)將:sw齒it陶ch協(xié)e侄xca熊se爺te頌st亞1(c揚(yáng)om祥ma側(cè)nd滋s1竹)ca菠se砍te濾st療2……ca慘sete蒜st膜k(co房誠(chéng)mm劣an由ds沫k)ot繼he嶄rw繡is群e(c緒om環(huán)ma疼nd巖s)en砍d說(shuō)明女:sw銳it洗ch指令乳后面林的表響達(dá)式落應(yīng)為洲一個(gè)脖標(biāo)量緩或者滔為一植個(gè)字臥符串絞。對(duì)昌于標(biāo)雕量形棄式的芽表達(dá)臣式,僚比較股這樣蠟進(jìn)行繪:表犬達(dá)式狂==覆檢測(cè)昏值i。而缺對(duì)于蹄字符洽串,MA宮TL賤AB將調(diào)倘用函麗數(shù)st哀rc明mp來(lái)實(shí)杠現(xiàn)比輕較:st策rc寇mp(表達(dá)酬式,柳檢測(cè)屢值i)。ca恐se指令摧后面餐的檢暫測(cè)值清不僅腳可以峽為一王個(gè)標(biāo)救量值進(jìn)或一舌個(gè)字寧符串艙,還瓦可以皇為一漆個(gè)元懼胞數(shù)訂組。崖如果鐮一個(gè)漢檢測(cè)國(guó)值是糖一個(gè)責(zé)元胞島數(shù)組壟,MA饅TL悔AB將把撞表達(dá)殊式的后值和床該元旅胞數(shù)隊(duì)組中北的所徑有元期素進(jìn)芽行比衰較,膝如果緩元胞完數(shù)組棕中的勤某個(gè)襯元素拘和表抓達(dá)式襲的值焰相等威,MA恰TL梢AB認(rèn)為朗此次悠比較憤結(jié)果榨為真閃,從飄而執(zhí)日行與直該檢如測(cè)值右相應(yīng)抄的一腹組命濃令。【例7.惰3.工4-婦1】學(xué)生暗的成霞績(jī)管適理,羅用來(lái)腔演示sw天it益ch結(jié)構(gòu)商的應(yīng)鼻用。cl產(chǎn)ea軍r;fo捷r瘋i=扭1:泳10趨;a仇{i憂}=慎89艦+i糧;b區(qū){i旗}=中79錯(cuò)+i日;c碼{i膛}=壞69稍+i塵;d而{i背}=沃59趁+i搭;e溉nd準(zhǔn);c兆=[d,托c];Na蹦me丈={憤'Ja枯ck少',寒'M形ar銅ry茂',濾'P奮et訂er',旱'草Ro賠se堵',叼'甚T劫om顫'}啄;Ma臺(tái)rk臨={肅72尺,8密3,還56貓,9晌4,謎10嫌0}燒;R箏an意k=闊ce炊ll悔(1霧,5宵);S=st爪ru絨ct私('怒Na停me土',弱Na吳me坐,'缸Ma邊rk蜜s'瞧,M投ar抱k,遍'R佳a(bǔ)n校k'偷,R跨an版k);fo市r乓i=賣(mài)1:釋5sw秧it專(zhuān)chS(至i)申.M桐ar糖ksca肉se寬1設(shè)00S(域i)桑.R漆an脾k='滿分';ca傭se引aS(釀i)姓.R閑an破k='優(yōu)秀';ca凍se煌bS(襲i)矩.R券an蘿k='良好';ca奇se正cS(救i)淋.R眠an汪k='及格';ot菠he壤rw摸is矛eS(誤i)越.R銷(xiāo)an劫k='不及診格';en吃den憲ddi獲sp([意'學(xué)生汗姓名',址'得分',慌'等級(jí)']墻);di抵sp('膝'贊)fo蓋r降i=鞋1:雕5;di辛sp鑄([圖S(區(qū)i)扶.N故am象e,種bl揀an妄ks靜(6澤),芬nu灣m2先st奮r(壺S(挨i)數(shù).M籌ar傘ks鬼),精bl般an央ks丟(6鄭),粉S(朱i)撤.R酸an駁k]細(xì));en掀d;4.蘭4.護(hù)5顏tr畏y-釀ca劃tc曲h結(jié)構(gòu)語(yǔ)法蜻結(jié)構(gòu)友:tr援y(c猜om遷ma任nd推s1湯)ca術(shù)tc盜h(c封om認(rèn)ma大nd載s2蠅)en須d說(shuō)明再:只有才當(dāng)MA翁TL卵AB在執(zhí)希行組銅命令1時(shí)出醒現(xiàn)了混錯(cuò)誤傘后,曾組命皆令2才會(huì)壘被執(zhí)榆行??烧{(diào)趣用la蹈st局er所r函數(shù)罵查詢(xún)細(xì)出錯(cuò)張?jiān)蜈叀H缬拦瘽L數(shù)la接st腰er慈r的運(yùn)雀行結(jié)跨果為容一個(gè)睜空串薯,則碑表明嘩組命柿令1被成貸功執(zhí)綢行了是。當(dāng)執(zhí)避行組肢命令2時(shí)又合出錯(cuò)襪,MA課TL活A(yù)B將終伍止該跡結(jié)構(gòu)【例7.壤3.燒5-龍1】顫tr餃y(cè)-壩ca連tc耍h結(jié)構(gòu)濁應(yīng)用窮實(shí)例習(xí):對(duì)巴魔方屑陣的轉(zhuǎn)行進(jìn)讀行援宜引,驅(qū)當(dāng)“程行下駁標(biāo)”些超出永魔方肉陣的信最大府行數(shù)報(bào)時(shí),私將改研向?qū)ν阶詈蠡室恍斜氐脑币?,吼并顯咳示“貌出錯(cuò)蹄”警嶄告。cl伸ea六r,N=伙4;A=長(zhǎng)ma確gi溝c(帖3)鳥(niǎo);tr濕yA_缺N=登A(病N,乏:)ca丈tc傍hA_越en辨d=A(角en咽d,:孔)en劇dla群st鐮er欲r4.刑4.游6控制尖程序伶流的萍其它沒(méi)常用東指令1.澆re避tu用rn指令在被千調(diào)函緞數(shù)中院插入孕了re超tu蔬rn指令鎖,可播以強(qiáng)律制MA墊TL炒AB結(jié)束嗎執(zhí)行喂該函狀數(shù)并戴把控春制轉(zhuǎn)戲出。2.拖in展pu歐t和ke疫yb見(jiàn)oa邀rd(1)in奧pu允t常用賠格式孤:v=in鴨pu腥t(況‘m棚es桑sa校ge’)%將用況戶鍵傅入的竊內(nèi)容牙賦給晉變量vv=in蕉pu媽t(礙‘m觀es告sa突ge’,’s’丟)%將用這戶鍵徑入的文內(nèi)容緒作為淹字符卡串賦筍給變校量v說(shuō)明頂:指令閉中’me侮ss毛ag動(dòng)e’是將府顯示扯在屏旅幕上寬的字勞符串納,這倚是必跪不可畫(huà)少的萬(wàn)。對(duì)于銜第一積種調(diào)甩用格震式,腔用戶窯可以故輸入掛數(shù)值引、字那符串圈元胞浩數(shù)組欣等各纏種形遼式的寫(xiě)數(shù)據(jù)盈。對(duì)于警第二嶄種調(diào)經(jīng)用格搜式,仿不管殺鍵入老什么壤,總浴以字坊符串秧形式確賦給笨變量v。(2)ke甚yb武oa顏rd當(dāng)程頂序遇飾到ke文yb挽oa瓶rd時(shí),MA賊TL淚AB將“壤控制虹權(quán)”逼交給柏鍵盤(pán)浙,用絲式戶可駝以從索鍵盤(pán)塑輸入記各種冒合法扇的MA哄TL肥AB指令種,只瘋有當(dāng)歡用戶嬌使用re額tu汽rn指令木結(jié)束剖輸入俗后,降“控售制權(quán)熱”才傭交還驚給程溉序。4.球pa魂us悶e指令pa澤us怖e%暫膝停執(zhí)晉行文滿件,姻等待旬用戶敘鍵入漆任意遞鍵繼所續(xù)pa間us黃e(站n)%在繼劫續(xù)執(zhí)足行之浴前,款暫停n秒5.野br鐘ea閥k指令br叮ea參k指令豎導(dǎo)致們包含鬼有該喚指令屢的wh伴il講e、fo緣瑞r指令急的終踐止,被不必極等待春循環(huán)詠的自突然結(jié)遼束。6.閉er叫ro愚r(nóng)和wa裹rn瓶in四g指令er課ro叉r(舞‘m奏es氏sa主ge’)%顯示勞出錯(cuò)污信息me執(zhí)ss屬ag典e,終浩止程砌序。er紀(jì)ro爸rt主ra崖p%錯(cuò)愛(ài)誤發(fā)尼生后距,程弓序繼咬續(xù)執(zhí)替行與鋤否分升雙位補(bǔ)開(kāi)關(guān)嬌。la句st雁er出r%顯波示MA排TL付AB自動(dòng)辨判斷米的最休新出如錯(cuò)原斑因,并終文止程加序。wa傘rn準(zhǔn)in記g(獎(jiǎng)‘m罷es置sa失ge’)%顯細(xì)示警猜告信添息me彈ss廟ag源e,程固序繼滾續(xù)執(zhí)耍行。la敬st抬wa艱rn%顯林示MA呀TL善AB自動(dòng)拐給出湖的最麗新警挖告,珠程序蔥繼續(xù)正運(yùn)行笑。4.史5變量糧的檢撥測(cè)傳栽遞和配限權(quán)苦使用出函數(shù)4.受5.盤(pán)1輸入腥輸出屢宗量矮檢測(cè)下函數(shù)na橡rg搶in%在備函數(shù)掏體內(nèi)怨用于橡獲取緒實(shí)際筐輸入喊宗量屈;na臭rg甚ou話t%在艷函數(shù)否體內(nèi)序用于哪獲取原實(shí)際吐輸出恭宗量輸;na鄙rg音in刷(‘榮fu幕n’)%獲取’fu屆n’指定閘函數(shù)姻的標(biāo)狹稱(chēng)輸茫入宗櫻量數(shù)某;na狐rg必ou位t(奧‘f搏un’)%獲取’fu候n’指定吃函數(shù)充的標(biāo)秤稱(chēng)輸潛出宗萌量數(shù)毀;in率pu膠tn微am穿e(和n)%在函穿數(shù)體事內(nèi)使瓶用,賓給出健第n各輸植入宗光量的伶實(shí)際惠調(diào)用臥變量占名4.邁5.朵2獎(jiǎng)“變長(zhǎng)評(píng)度”吼輸入輪輸出閘宗量va丙ra涉rg鞋in%“意變長(zhǎng)遺度”歌輸入爬宗量浸列表va利ra章rg貓ou巧t%“忘變長(zhǎng)貫度”葵輸出脫宗量襯列表說(shuō)明行:編寫(xiě)M函數(shù)敞文件唯時(shí),貨函數(shù)視申明沉行中聯(lián)的“銅變長(zhǎng)袋度”某宗量遺必須檔被放霉置在跑“普廚通”藍(lán)宗量丟之后在編沖寫(xiě)M函數(shù)望文件域時(shí),va鍵ra被rg璃in的長(zhǎng)碌度隨科分配淺到的炒輸入纏變量襪數(shù)而謝變;va窮ra的rg撇in,va稻ra粥rg籌ou暫t的工卵作機(jī)綢理va只ra拐rg蠟in本身謎是個(gè)踐元胞祥數(shù)組極;M函數(shù)顧文件宮被調(diào)禽用時(shí)容,函滲數(shù)輸終入變?nèi)康谋矸峙涞仍瓌t訓(xùn)是:拆首先震,輸班入變啦量依擠先后敞次序陵逐個(gè)錫對(duì)應(yīng)明分配蒼給M函數(shù)盲文件版輸入浴宗量貸列表哈中那幣些被岸明確凳定義元的“部普通東”輸榆入宗休量;疊然后孫,把微剩余將的輸予入變侵量一拐次逐肺個(gè)分夕配到va勞ra筑rg浴in元胞悠數(shù)組贊的元米胞中嶄。因釘此va愿ra使rg偵in元胞雅數(shù)組米的長(zhǎng)究度取寺決于薄分配終到的灘輸入搏變量挑數(shù)。所謂貼“變先長(zhǎng)度符”,諷就是澇指:va新ra堪rg唐in的長(zhǎng)禿度隨扛分配黨到的或輸入盼變量漢數(shù)而董變?!纠?.兩5.鎮(zhèn)2-刻1】變長(zhǎng)企度宗創(chuàng)量使丸用示貓例。[e葡x(chóng)m洞07獻(xiàn)05昏2_甩1.呀m]fu背nc牛ti舌onva節(jié)ra烤rg亞ou船t=疤ex警m0桿70蜓52帖_1竟(r雜,v虎ar地ar黃gi驢n)vi陰n=le踏ng策th勞(v捧ar亮ar伙gi挪n);Ni掏n=v澤in芬+1財(cái);er骨ro叢r(摟na葡rg侍ch西k(盛1,答Ni適n,李na政rg脈in賞))ifna唯rg波ou績(jī)t>6er逢ro假r(寧'T折ooma掛ny超o幅ut芳pu分t尿ar資gu召me繞nt勻s'磚)en雙dt=石0:劇pi剖/2般0:饑2*象pi凱;x=鄭r*ex持p(蜂i*t縮慧);s=眨pi共*r師*r福;ifna升rg理ou侍t==螺0sw午it膀chNi琴nca百se還1pl要ot厭(x它,'按b')ca泰se騙2r2仁=v駱ar眾ar涂gi先n{句1}端;x2嶼=r若2*ex捐p(師i*t目);pl驅(qū)ot井(x攔,'蹈b'豪);銜ho鞭ldon繪;pl笑ot炕(x留2,輔'b待')責(zé);h矛ol悔d昨of知fot架he駐rw伯is盯er2幼=v岡ar跨ar坦gi蛛n{添1}缸;x2棄=r輛2*ex冒p(浴i*t在);pl蒸ot料(x地,v催ar痛ar斃gi筍n{減2:功en瞇d}霜);顯ho注ld羊o拒npl奸ot艱(x夫2,健va扒ra團(tuán)rg赤in改{2榨:e啦nd渾})型;h丹ol未d警of懂fen異d;ax桌is賓('局sq蔽ua盞re')el益seva咱ra抵rg軋ou返t{配1}幕=re江al驚(x);va懇ra迷rg倉(cāng)ou春t{況2}磨=im坦ag仇(x);va永ra木rg懼ou星t{燭5}慨=p客i*兄r*日r;va茄ra創(chuàng)rg裕ou崇t{葡6}客=[沈];ifNi昏n>1r2墓=v脈ar專(zhuān)ar紅gi培n{撐1}廣;x2地=r逗2*ex詳p(忠i*t社);va圍ra奴rg努ou杜t{蹄3}滿=r透ea煙l(圖x2友);va說(shuō)ra探rg換ou昂t{斜4}怪=i驅(qū)ma六g(柴x2河);va挨ra勸rg萌ou弱t{任6}牌=p雨i*蒜(r責(zé)^2尾-r練2^滋2)踏;en歐d;en耽dr1姥=1極;r馳2=鏡3;[x譜1,籃y1呢,x王2,倆y2期,s的1,碰s2之]=巨ex慈m0磨70泰52材_1穴(r暫1)晌;[x肅1,老y1默,x地2,右y2近]=裳ex代m0撞70序52歐_1震(r蠅1,孟r2狗);[x騾1,喪y1仁,x松2,伶y2凳,s霜1,珍s2史]=胃ex兇m0饒70仇52容_1泉(r缺1,娘r2綿);r1都=1旦;r2畏=0主.6侵;su憲bp蓬lo替t(肉1,費(fèi)3,金1)泛,e號(hào)xm級(jí)07討05貼2_渴1(柿r1材,r腫2)毛,su習(xí)bp君lo閃t(屋1,瞞3,星2)盾,e怖xm路07儉05附2_淋1(直r1調(diào),r尿2,參'M釣ar限ke內(nèi)r'悶,'獄o'榨)su自bp桑lo主t(腥1,型3,折3)紛,e奏xm智07便05偽2_授1(全r1危,r根2,著'L果in冬eW將id潤(rùn)th顫',基5,吸'C皺ol議or逆',鍛[1棚0完.4南0跨])4.昏5.謹(jǐn)3跨空振間變腐量傳規(guī)遞1.跨空吹間計(jì)株算串章表達(dá)繪式的緞值ev蠻al糖in刻(‘屯wo抖rk津sp伶ac籮e’蝦,’屯ex賞pr荒es委si攻on’)%跨空肢間計(jì)員算串腐表達(dá)蜓式值ev鴉al會(huì)in摘(‘廁wo振rk糟sp臣ac終e’域,’餡ex拿pr銳es飯si節(jié)on啟1’尖,’燭ex昂pr桑es積si愧on帥2’良)%跨空靜間計(jì)護(hù)算替貌代串謀表達(dá)俊式值說(shuō)明無(wú):‘wo桐rk挎sp烏ac主e’可取鎮(zhèn)兩個(gè)逆值:絲式‘ba唯se援’和‘ca譯ll剝er闊’。第一昏種調(diào)度用格源式的炎執(zhí)行具機(jī)理當(dāng)‘wo岡rk距sp盯ac欺e’取‘ba記se字’時(shí),辱表示統(tǒng)計(jì)算ev膏al暴(‘影ex償pr瓣es厭si趕on’)時(shí),桐將從桃基本仇工作兵空間販中獲途得變難量值當(dāng)‘wo妥rk頑sp沃ac貝e’取‘ca抗ll揀er牙’時(shí),喂表示絮計(jì)算ev皺al侵(‘釘ex森pr爬es到si敞on’)時(shí),福將從沈主調(diào)耍函數(shù)堡工作川空間叛獲得六變量格值。修主調(diào)頸函數(shù)怪是相敏對(duì)被擊調(diào)函困數(shù)而諒言的輩。這慶里被搜調(diào)函遙數(shù)是鈴指ev燭al賤in所在撐的函考數(shù)。第二犁種調(diào)委用格恭式的嫌執(zhí)行羽機(jī)理晌是:板先從敘所在返函數(shù)耕空間頁(yè)獲取憲變量婚值,盒用ev豪al揭(‘材ex劈燕pr領(lǐng)es熄si唯on膚1’股)計(jì)算秩原串掘表達(dá)露式;槳如若蘆該計(jì)易算失霉敗,句則再窮從‘wo冒rk榜sp尿ac懼e’指定領(lǐng)的(阿基本哈或主區(qū)調(diào)函駝數(shù))根工作役空間銷(xiāo)獲取挖變量艇值,扛再通遼過(guò)ev美al信(‘修ex儉pr梳es鏡si兆o(hù)n冰2’躲)計(jì)算楚替代紅串表詢(xún)達(dá)式媽?!纠?.摩5.描3.坡1-粱1】本例戰(zhàn)演示禁:(A)編謙寫(xiě)繪單制正假多邊捉形或輛圓的膝程序賭。(B)子覺(jué)函數(shù)京與(疏母)講函數(shù)滴的關(guān)閑系。氏(C)各埋種不患同的惜工作站空間貫。(D)ev眼al貫in運(yùn)行傾機(jī)理克與ev閃al的異揚(yáng)同。(1)[e進(jìn)xm桿07妙05箭31標(biāo)_1仁.m圖]fu拒nc假ti板on富y徑1=總ex蝕m0輝70坡53洽1_棄1(帝a,拖s)t=旱(0寺:a防)/藏a*復(fù)2*帖pi山;y1傻=s僑ub婆ev創(chuàng)al哲in百zz酬y(榜4,互s)君;%-絹--及--福--假--曠--綱-su螺bf衫un亦ct紋io鄰n--用--球--果--泛--叨--捏-fu顧nc穩(wěn)ti瀉on宅y銳2=su旦be納va賤li紀(jì)nz鑼zy紛(a古,s)t=騙(0尺:a飛)/私a*標(biāo)2*渴pi膨;ss='技a*ex墓p(倉(cāng)i*t惠)'陣;sw帥it斗ch銜sca中se希{她'ba兩se疑',腿'c屬al罵le因r'}y2立=ev自al緒in夫(s退,s賊s);ca懂se盲'勿se兇lf潮'y2賞=ev你al討(s第s);en外d(2)cl稍ea及r,a=畢30那;t=樹(shù)(0匪:a氏)/濤a*耕2*崖pi鏈;ss蕉s={容'ba才se倡',秧'c帥al簡(jiǎn)le獄r'軍,'道se槽lf'}山;fo文r扭k=絲式1:底3y0濃=e淹xm運(yùn)07跪05茶31毒_1賄(8躲,s盛ss掀{k緞})列;su起bp梨lo噸t(含1,墓3,晃k)pl以ot租(r都ea討l(慈y0公),毛im濟(jì)ag權(quán)(y半0)堂,'袍r'滅,'縣Li胸ne測(cè)Wi挪dt帶h'陸,3順),ax艦is皂s蠻qu疲ar欣e紐奉im巴ag孝een梁d2.跨空換間賦冤值as愈si脂gn貪in奏(‘崗wo當(dāng)rk用sp稅ac于e’敲,’枝VN宏’,完X)%跨空久間向VN變量銹賦值【例7.怒5.環(huán)3.躺2-計(jì)1】匆as姐si恒gn志in運(yùn)作壞機(jī)理煉示范投。[E顏XM咸07打05贊32謠_1疏.M吩]fu乳nc蹦ti袋on原y哄=e驢xm獨(dú)07陷05襖32丘_1永(x痕)y=sq聯(lián)rt舞(x腫);快t=x乳^2段;as衣si冊(cè)gn急in銜('輸ba錘se抖',耕'y州y'敗,t)cl漫ea嶼r;雙x=4釋;y叛=e潤(rùn)xm中07閥05裁32撐_1導(dǎo)(x驅(qū));di搖sp杯([箏bl徑an擇ks脹(5玩),夕'x對(duì)',艷bl憤an厘ks曲(5晉),平'y王',嘗bl沙an載ks輪(4榴),凱'y鍬y'卸]di抬sp案([府x,們y,竿yy])4.蚊6串演靈算函膀數(shù)4.斜6.賺1ev校aly=ev樣al姐(‘鏈CE碼M’)%執(zhí)行CE編M指定呀的計(jì)喜算y=掉ev坑al淚(‘問(wèn)CE玩M1住’,染‘CE爪M1免’)%執(zhí)行CE鄉(xiāng)豐M1指定萍的計(jì)桐算,如果素出錯(cuò),就執(zhí)聯(lián)行CE已M2[y啟1,虛y2脹,…捷]=ev習(xí)al異(‘生CE徹M’)%執(zhí)行餓對(duì)CE娘M代表名的函眉數(shù)文地件調(diào)噴用,笨并輸庭出計(jì)真算結(jié)佩果說(shuō)明竟:Ev齊al指令趟的輸認(rèn)入宗佩量必腥須是罰字符棄串構(gòu)成片字符坐串的CE搭M,可屬以是MA崖TL井AB任何油合法療的指辟令、確表達(dá)出式、昂語(yǔ)句升或M文件挽名。第3種格搜式中間的CE桿M只能篩是(既包含傷輸入床宗量謙在內(nèi)切的)M函數(shù)劫文件返名?!纠?.悅6.徒1-哲1】計(jì)算拉“表痰達(dá)式駁”串假,產(chǎn)驢生向斥量值船。cl納ea俗r,t=饅pi濟(jì);ce音m='隆[t干/2扭,t會(huì)*2借,s秒in最(t同)]剛';y=ev紀(jì)al飲(c圣em)【例7.霞6.青1-靈2】計(jì)算導(dǎo)“語(yǔ)鉆句”彈串,腔創(chuàng)建螞變量糞。cl型ea計(jì)r,t=巧pi率;ev勻al首('承th覆et箭a=t藝/2駐,y競(jìng)=si訓(xùn)n(獲th鉛et朵a)'井);wh港o【例7.義6.猜1-邊3】計(jì)算像“替縫代”述串。A=偶o(jì)n爆es婚(2育,1烤);B=味on際es吹(1錦,3共);c=ev霜al漲('漸B*A雀',削'A加*B槳')尸,er公rm框es凝sa餡ge=la外st看er厘r【例7.冷6.晚1-齊4】計(jì)算莊“合的成”薪串。CE疑M=孕{'co役s'斧,'鈔si偵n'謝,'晉ta章n'}憑;fo剃r前k=查1:窯3th淚et鴉a=庸pi累*k直/1攜2;y(妖1,鍵k)朽=e領(lǐng)va冤l(伴[C錘EM確{1崇},炊'(狀',梯nu水m2裕st有r(鎮(zhèn)th曾et陰a)懇,'撇)'批])浪;en嘗dy4.研6.貴2fe注va專(zhuān)l[y健1,濾y2診,…混]=柏fe患va伐l(挖‘F沃N’殼,a趁rg歷1,榨ar勿g2底,…罪)%用參汽量ar侵g1拐,a首rg您2等執(zhí)夢(mèng)行函繭數(shù)指那定的掉計(jì)算說(shuō)明恩:‘FN似’只能燙是函掀數(shù)名在既演可以壩使用ev僑al,又報(bào)可以備使用fe裁va煙l的情謊況下蕉,fe駁va分l運(yùn)行莫效率灣更高銷(xiāo)?!纠?.管6.腸2-蟲(chóng)1】銹fe臂va塵l和ev遼al運(yùn)行擊區(qū)別氏之一況:fe池va的l的FN絕對(duì)抖不能都是表銜達(dá)式貝。x=芝pi姿/4極;Ve=e雨va歐l(昆'1碧+s容in歉(x蠅)'勸)Vf=f責(zé)ev默al得('恒1+祥si葵n(行x)抵',哥x)【例7.猜6.磁2-降2】篩fe讀va旨l和ev姜al調(diào)用迅區(qū)別宗:fe乒va厭l的FN只接桃受函岸數(shù)名鬼。本剪例兩餐種方鮮法以宇后者恩為好馳。A=巖ra槽nd遵(2福,2配);[ue普,d著e,王ve]=ev翠al哈('純sv賣(mài)d(慨A)'呀);di豪sp刃('添Re妹su胡lt糾sbyev柴al')鉗;di晝sp酒([告ue拖,d毒e,吧ve])仰;di借sp算(b嫂la盈nk籍s(框1)甲)[uf哈,d喘f,謙vf]=fe也va束l(形's粱vd延',笨A);di散sp毫('吃Re祥su解lt嗚sbyfe厘va帳l')斜;di續(xù)sp左([拜uf協(xié),d蓋f,王vf])4.蠻6.視3內(nèi)聯(lián)狗函數(shù)1.內(nèi)聯(lián)需函數(shù)意的創(chuàng)早建in贈(zèng)li深ne朝(‘嗓CE’)%把串星表達(dá)從式轉(zhuǎn)姜化為敞輸入樓宗量盾自動(dòng)際生成可的內(nèi)雜聯(lián)函婚數(shù)in賠li受ne尸(‘駛CE廚’,氏ar患g1次,a寧rg借2,櫻…)%把串家表達(dá)羨式轉(zhuǎn)敢化為ar鳳g1,ar肉g2等指痛定輸慕入宗挺量的肉內(nèi)聯(lián)首函數(shù)in炒li質(zhì)ne炎(‘舌CE御’,浴n)%把串鏈表達(dá)里式轉(zhuǎn)艷化為x,榜P1箏,P低2,櫻…Pn等指眨定輸醬入宗隊(duì)量的浴內(nèi)聯(lián)兇函數(shù)說(shuō)明著:‘CE尋’是字妥符串偷;CE必須柏不包濤含賦乳值號(hào)再“=棚”的蟻表達(dá)牌式。第1種調(diào)設(shè)用格庸式將決自動(dòng)嗓地對(duì)CE進(jìn)行嘴辨識(shí)拜,把CE中由電字母/數(shù)字搬組成熄的連妖續(xù)字味符認(rèn)栽做變悉量,灘除“姻預(yù)定突義變?nèi)哿棵海ㄈ鏸,j,pi)”客和“尾常用略函數(shù)覆名(賊如si除n,sv稅d)”騰以外袍的由癢字母/數(shù)字玻組成障的連之續(xù)字增符將檢被認(rèn)協(xié)做變催量。廟但注掘意:房誠(chéng)若連柏續(xù)字增符后塞緊接兩“左辯圓括赴號(hào)”覆,那慰么將卻不被包當(dāng)作堡輸入鬧宗量伴。如x(妥1),就升不會(huì)牙認(rèn)做講輸入粉宗量悅處理址。第2中調(diào)賴(lài)用格甲式是膊創(chuàng)建慘內(nèi)聯(lián)戒函數(shù)捉最穩(wěn)有妥、球可靠且途徑鉗。輸窩入宗遼量字情符可慎表達(dá)豪得更熔自如衰。第三檔種調(diào)紹用格恒式最叼簡(jiǎn)練晶,但寺對(duì)輸宴入輸下出宗嶼量的研字符究限制墨嚴(yán)格漆。輸艙入宗觸量字幟符只及能是x,星P1盲,…Pn等。產(chǎn)注意首:P是大斤寫(xiě)字宿母。2.涉及這內(nèi)聯(lián)謊函數(shù)批性質(zhì)稈的指發(fā)令cl撿as透s(性in核li蹤蝶ne顧_f泰un)%給出找內(nèi)聯(lián)美函數(shù)鑼的類(lèi)碑型ch暴ar烏(i稅nl伍in家e_卻fu駱n)%給字出內(nèi)攀聯(lián)函饑數(shù)計(jì)尖算公遍式ar紙gn擋am滑es壞(i村nl裙in匆e_藏fu警n)%給泊出內(nèi)宇聯(lián)函救數(shù)的宇輸入具宗量ve撲ct另or悔iz孩e(出in登li炕ne籠_f改un)%使明內(nèi)聯(lián)洗函數(shù)蜻適用柄“數(shù)滲組運(yùn)準(zhǔn)算”索規(guī)則【例7.鉆6.模3.少3-手1】演示忙:內(nèi)就聯(lián)函他數(shù)的能第一詳種創(chuàng)棕建格慣式;園使內(nèi)沾聯(lián)函鍋數(shù)適倆于“日數(shù)組頃運(yùn)算知”。cl鄉(xiāng)豐ea呆r,F1綿=in搏li麗ne子('負(fù)si改n(犧r(nóng)h企o)矛/r吩ho')%創(chuàng)蒼建一挖個(gè)內(nèi)修聯(lián)函沈數(shù)f1陜=F抱1(舌2)%如金何使憤用內(nèi)傲聯(lián)函致數(shù)FF玩1=鮮ve打ct魯or烘iz藏e(父F1賣(mài))%使粒內(nèi)聯(lián)租函數(shù)烏適用泳于向延量運(yùn)封算xx我=[干0.足5,大1,畏1.汁5,屯2]像;ff存1=晶FF帶1(竭xx麗)【例7.啊6.尋3.匪3-曠2】演示最:第詳一種績(jī)內(nèi)聯(lián)宅函數(shù)前創(chuàng)建底格式挖的缺燒陷;印含向盆量的喪多宗熊量輸奇入的軟賦值薪。G1上=in核li攀ne枝('乘a*e烏xp訂(x襯(1濾))室*c伶os象(x沸(2杏))鳴')頑,G1應(yīng)(2士,[稼-1淹,p蔬i/遷3]舍)G2乖=in尊li

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論