資源描述:
《MATLAB程序調(diào)試和優(yōu)化.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、程序調(diào)試和優(yōu)化一、在Debugger窗口調(diào)試程序用open打開(kāi)M文件并進(jìn)入Debugger窗口。二、設(shè)置斷點(diǎn)分為標(biāo)準(zhǔn)斷點(diǎn)、條件斷點(diǎn)和錯(cuò)誤斷點(diǎn)。讓斷點(diǎn)不起作用或反之:Debug->Enable/DisableBreakpoint。有效斷點(diǎn)(紅色)和無(wú)效斷點(diǎn)(灰色):后者并非是不起作用的斷點(diǎn),程序運(yùn)行到此照樣停止,只是修改后沒(méi)有保存而修改變成無(wú)效。命令窗口處設(shè)置斷點(diǎn)——dbstop函數(shù),有兩種形式,如下:dbstopinmfiledbstopinmfileatlineno前者暫停在第一行可執(zhí)行語(yǔ)句上,后者
2、暫停在lineno行。它將函數(shù)置于debug方式,其后可用dbcont和dbstep重新運(yùn)行,也可用dbquit退出debug方式。清除斷點(diǎn):Debug->Set/ClearBreakpoint或dbclear函數(shù)(dbclearall/inmfile/inmfileatlineno)。在命令窗口顯示斷點(diǎn)狀況:dbstatus或dbstatusmfile。設(shè)置條件斷點(diǎn):Debug->Set/ModifyConditionalBreakpoint。斷點(diǎn)的彈出菜單:鼠標(biāo)右鍵點(diǎn)擊斷點(diǎn)。命令窗口設(shè)置條件斷點(diǎn):
3、dbstopinmfileatlinenoifexpression。錯(cuò)誤斷點(diǎn):Debug->StopifErrors/Warings。命令窗口設(shè)置錯(cuò)誤斷點(diǎn):dbstopiferror或dbstopiferroridentifier或dbstopifwarning或dbstopifwarningidentifier或dbstopifnaninf。清除錯(cuò)誤斷點(diǎn):dbcleariferror或dbclearifwarning或dbclearifnaninf或dbcleariferroridentifier或
4、dbclearifcaughterror。三、交互地使用命令窗口和Debugger窗口選中Debug->OpenM-fileswhenDebugging。keyboard語(yǔ)句:觀察和修改變量,并用return結(jié)束鍵盤方式并把控制再交給M文件。在工作區(qū)上面的Stack中可以選擇collatzplot函數(shù),可以顯示當(dāng)前的變量及其值。打開(kāi)數(shù)組編輯器:雙擊變量,或用命令openvarvariable。who和whos:列出當(dāng)前工作區(qū)的變量。四、彩色語(yǔ)法突出顯示(Syntaxhighlighting),改正語(yǔ)法
5、錯(cuò)誤可使用原本的顏色,也可自定義:File->Prefences->ColorsPrefences。恢復(fù)默認(rèn)顏色RestoreDefaultColors。五、利用錯(cuò)誤信息語(yǔ)法錯(cuò)誤,帶有下劃線,可作為超鏈接。六、在MATLAB命令窗口進(jìn)入Debug方式dbstop-Setbreakpoint.dbclear-Removebreakpoint.dbcont-Resumeexecution.dbdown-Changelocalworkspacecontext.dbmex-EnableMEX-filedebu
6、gging.dbstack-Listwhocalledwhom.dbstatus-Listallbreakpoints.dbstep-Executeoneormorelines.dbtype-ListM-filewithlinenumbers.dbup-Changelocalworkspacecontext.dbquit-Quitdebugmode.一、CellsCell工具條:,從左到右依次是執(zhí)行當(dāng)前Cell;執(zhí)行當(dāng)前Cell并推進(jìn)到下一個(gè)Cell;執(zhí)行整個(gè)文件;減少或增加光標(biāo)附近的數(shù)值,并運(yùn)行;除
7、或乘光標(biāo)附近的數(shù),并運(yùn)行;插入Cell定界符;顯示Cell標(biāo)題。Cell是指在Editor/Debugger窗口中把一個(gè)M文件分解成的若干段。獨(dú)立cell可以單獨(dú)運(yùn)行。激活Cell方式:Cell->EnableCellMode。定義Cell:Cell->InsertCellDivider/Break。給Cell加標(biāo)題:Cell->InsertTextMarkup->CellTitle。下一個(gè)Cell:Cell->NextCell。上一個(gè)Cell:Cell->PreviousCell。運(yùn)行一個(gè)Cell:
8、Cell->EvaluateCurrentCell或點(diǎn)擊響應(yīng)的圖標(biāo)。二、M-LintM-lint能幫助驗(yàn)證代碼的完整性。進(jìn)入方式:mlint函數(shù);M-Lint的圖形用戶界面(GUI)。進(jìn)入方式:在CurrentDirectory中單擊M-lintCodeCheckReport;或者在Editor窗口選擇Tools->CheckCodewithM-Lint。命令窗口:mlint函數(shù)。文件比較報(bào)告:FileComparisonReport。三、Profile