資源描述:
《Matlab調(diào)試技巧》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Matlab的調(diào)試總體分為,直接調(diào)試和間接調(diào)試1.直接調(diào)試:(1)去掉句末的分號;(2)單獨調(diào)試一個函數(shù):將第一行的函數(shù)聲明注釋掉,并定義輸入量,以腳本方式執(zhí)行M文件;(3)適當?shù)胤教砑虞敵鲎兞恐档恼Z句;(4)添加keyboard命令;2.工具調(diào)試:1.)以命令行為主的調(diào)試:(1)設(shè)置斷點:·dbstopinmfile:在文件名為mfile的M文件第一個可執(zhí)行語句前設(shè)斷點;·dbstopinmfileatlineno:在mfile的第lineno行設(shè)斷點;·dbstopinmfileatsubfun:當程序執(zhí)行到子程序subfun時,暫時中止執(zhí)
2、行,并設(shè)斷點;·dbstopiferror:遇到錯誤時,終止M文件運行,并停在錯誤行(不包括try...catch語句中檢測到的的錯誤,不能在錯誤后重新開始運行);·dbstopifallerror:遇到任何類型錯誤均停止(包括try...catch語句中檢測到的的錯誤);·dbstopifwarning:程序可恢復(fù)運行;·dbstopifcaughterror:當try...catch檢測到運行時間錯誤是,停止M文件執(zhí)行,可恢復(fù)運行;·dbstopifnaninf或dbstopifinfnan(2)斷點清除:·dbclearall:清除所有M
3、文件中的所有斷點;·dbclearallinmfile:清除文件名為mfile的文件中的所有斷點;·dbclearinmfile:清除文件名為mfile中第一個可執(zhí)行語句前的斷點;·dbclearinmfileatlineno:·dbclearinmfileatsubfun:·dbcleariferror/warning/naninf/infnan:(3)恢復(fù)運行:·dbcount:從斷點處恢復(fù)程序的執(zhí)行,直到下一個斷點或錯誤后返回Matlab基本工作空間;(4)調(diào)用堆棧:·dbstack:·1.)dbstack(N)·2.)dbstack('
4、-completenames')(5)列出所有斷點:·dbstatuss=dbstatus:返回值為M×1結(jié)構(gòu)體其中字段:name-函數(shù)名;line-斷點行向量;expression_r-與line中相對應(yīng)的斷點條件表達字符串;cond-條件字符串,如error,caughterror,warning,或naninf;identifier-當條件字符串是error,caughterror,warning,或naninf時,改字段是Matlab的信息指示字符串;·dbstatusmfile:列車制定M文件中所有斷點設(shè)置,mfile必須為M文件函數(shù)
5、或有效路徑;(6)執(zhí)行一行或多行語句:·dbstep:執(zhí)行下一個可執(zhí)行語句;·dbstepnlines:執(zhí)行下nlines行可執(zhí)行語句;·dbstepin:執(zhí)行下一行可執(zhí)行語句,如有子函數(shù),進入;·dbstepout:執(zhí)行函數(shù)剩余部分,離開函數(shù)時停止;·注:這四種都返回調(diào)試模式,如遇斷點,中止;(7)列出文件內(nèi)容:·dbtypemfile:列出mfile文件的內(nèi)容,并在每行語句前加上標號以方便使用者設(shè)定斷點;·dbtypemfilestart:end:列出mfile文件中指定行號范圍的部分·注:在UNIX和VMS調(diào)試模式下,并不現(xiàn)實Matlab
6、的調(diào)試器,此時必須使用dbtype來顯示源程序代碼;(8)切換工作空間:·dbdown:遇到斷點時,將當前工作空間切換到被調(diào)用的M文件的空間;·dbup:將當前工作空間切換到調(diào)用的M文件的空間;(9)退出調(diào)試模式:·dbquit;