MATLAB程式设计入门篇程式除错.ppt
《MATLAB程式设计入门篇程式除错.ppt》由会员分享,可在线阅读,更多相关《MATLAB程式设计入门篇程式除错.ppt(23页珍藏版)》请在三一办公上搜索。
1、MATLAB 程式設計入門篇程式除錯,張智星(Roger Jang)http:/mirlab.org/jang清大資工系 多媒體檢索實驗室,17-1 簡介,MATLAB 的除錯器(Debugger)功能包含:查詢每一個函數的工作空間(Workspace)顯示函數呼叫過程中的的堆疊(Function Call Stack)一列一列地執行 M 檔案(Step-by-step Execution)一般程式語言的錯誤分類語法錯誤邏輯錯誤,17-2 一般除錯技巧(1/2),一般偵測邏輯錯誤的方法:去除運算式最尾端的分號,運算式執行的結果會印在 MATLAB 指令視窗中。在程式中加入 keyboard 指
2、令,可使程式執行至此處即暫停,並顯示“k”的提示號(k 代表 keyboard),以便查看或改變工作空間的任何變數,若要繼續執行程式,可在 MATLAB 指令視窗下輸入“return”並按下 Enter 鍵。,17-2 一般除錯技巧(2/2),使用判斷式及 fprintf 指令印出變數的值。在除錯一個單獨函數時,可在其第一列的函數宣告列加上%,並定義輸入引數的值,此時我們就可以直接以腳本(Scripts)的方式來執行此 M 檔案,並保留所有變數於 MATLAB 工作空間之中。使用 MATLAB 的除錯器。,17-3以命令列為主的除錯程式(1/2),17-3以命令列為主的除錯程式(2/2),db
3、stop 的一般格式及相關說明,可以利用dbstop來指定程式碼的中斷點,離開除錯模式後的動作,進入除錯模式後,可檢查任何變數的值,也可以執行其他任何指令或手稿(script)。檢查完畢後,可能採取的動作有:,dbstep 的格式及說明,dbstep可以一次執行一列或多列程式碼,或是進入或跳出一個指令的內部程式碼。,dbclear及dbstatus 的用法,dbclear 用於取消中斷點,用法與dbstop的格式同,只需將dbstop改成dbclear。若要清除所有的中斷點,可用 dbclear all。dbstatus 可列出所有的中斷點。,實例:計算一向量的倒數和,範例:recipsum.
4、m此函數包含一錯誤,執行時即會出現:,type recipsumfunction out=recipsum(x)recip=reciproc(x);out=sum(recip);function output=reciproc(input)output=1./x;,recipsum(1 2 3)?Input argument x is undefined.Error in=D:matlabBookMATLAB程式設計:基本篇17-程式除錯recipsum.mOn line 3=recip=reciproc(x);,使用dbstop及dbstatus,讓MATLAB 停留在產生錯誤訊息的函數:d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 程式 设计 入门 除错
链接地址:https://www.31ppt.com/p-5575707.html