歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

MATLAB下的程序調試

文章主要內容摘自《MATLAB 7.0從入門到精通》,求是科技編著。

MATLAB7.0從入門到精通PDF+光盤程序下載 http://www.linuxidc.com/Linux/2013-03/81599.htm

程序錯誤一般分為兩種:語法錯誤和邏輯錯誤。對於語法錯誤通常MATLAB會報錯,並指出錯誤所在位置方便用戶糾正。對於邏輯錯誤,往往需要用戶對程序進行調試,發現錯誤原因和位置。MATLAB下的程序調試方法主要有直接調試法和工具調試法。
 
(1)直接調試法
 
1.通過分析後,將重點懷疑語句後的分號刪掉,將結果顯示出來,然後與預期值進行比較。
 
2.單步調試一個函數時,將第一行的函數聲明注釋掉,並定義輸入變量的值,然後以腳本方式運行此M文件,這樣就可保存下原來的中間變量了,可以對這些結果進行分析,找出錯誤。
 
3. 可以在適當的位置添加變量輸出值的語句。
 
4.在程序的適當位置添加keyboard指令。當MATLAB執行到此處時將暫停,並顯示k>>提示符,用戶可以查看或改變各個工作空間中存放的變量,在提示符後鍵入return指令可以繼續執行原文件。
 
(2)工具調試法
 
MATLAB的工具調試法主要包括以命令行為主的程序調試和以圖形界面為主的程序調試。
 
2.1 以命令行為主的程序調試
 
1. 設置斷點
 
dpstop in mfile
 
在文件名為mfile的M文件的第一個可執行語句前設置斷點。
 
dbstop in mfile at lineno
 
在文件名為mfile的M文件的第lineno行設置斷點。
 
dpstop in mile at subfun
 
當程序執行到子函數subfun時,暫時停止文件的執行並使MATLAB處於調試模式。
 
dbstop if error
 
M文件運行遇到錯誤時,終止M文件的運行並使得MATLAB處於調試狀態。不包括try…catch語句中檢測到的錯誤。
 
dbstop if all error
 
遇到任何類型的運行錯誤均停止運行並處於調試狀態
 
dbstop if warning
 
運行M文件遇到警告時,終止M文件的運行並使得MATLAB處於調試狀態,運行將在產生警告的行停止,程序可恢復運行
 
dbstop if caught error
 
當try…catch檢測到運行時間錯誤時,停止M文件的執行,用戶可以恢復程序的運行
 
dbstop if naninf或dbstop ifinfnan
 
當遇到無窮值或非數值時,終止M文件的執行
 
2.清除斷點
 
dbclear all
 
dbclear all in mfile
 
dbclear in mfile
 
dbclear in mfile at lineno
 
dbclear in mfile at subfun
 
dbclear if error
 
dbclear if warning
 
dbclear if naninf
 
dbclear if infnan
 
3. 恢復執行
 
dbcout
 
從斷點處恢復程序的執行

Copyright © Linux教程網 All Rights Reserved