- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB 程式設計入門篇程式除錯 張智星 jang@.tw .tw/~jang 清大資工系 多媒體檢索實驗室 17-1 結構陣列的建立 MATLAB 的除錯器(debugger)功能包含: 查詢每一個函數的工作空間(Workspace) 顯示函數呼叫過程中的的堆疊(Function Call Stack) 一列一列地執行 M 檔案(Step-by-step Execution) 17-2 一般除錯技巧(1) 一般偵測邏輯錯誤的方法: 去除運算式最尾端的分號,運算式執行的結果會印在 MATLAB 指令視窗中。 在程式中加入 keyboard 指令,可使程式執行至此處即暫停,並顯示“k ”的提示號(k 代表 keyboard),以便查看或改變工作空間的任何變數,若要繼續執行程式,可在 MATLAB 指令視窗下輸入“return”並按下 Enter 鍵。 17-2 一般除錯技巧(2) 使用判斷式及 fprintf 指令印出變數的值。 在除錯一個單獨函數時,可在其第一列的函數宣告列加上 %,並定義輸入引數的值,此時我們就可以直接以腳本(Scripts)的方式來執行此 M 檔案,並保留所有變數於 MATLAB 工作空間之中。 使用 MATLAB 除錯程式。 17-3以命令列為主的除錯程式(1) 17-3以命令列為主的除錯程式(2) dbstop 的一般格式及相關說明 可以利用dbstop來指定程式碼的中斷點 離開除錯模式後的動作 進入除錯模式後,可檢查任何變數的值,也可以執行其他任何指令或手稿(script)。 檢查完畢後,可能採取的動作有: dbstep 的格式及說明 dbstep可以一次執行一列或多列程式碼,或是進入或跳出一個指令的內部程式碼 。 dbclear及dbstatus 的用法 dbclear 用於取消中斷點,用法與dbstop的格式同,只需將dbstop改成dbclear。若要清除所有的中斷點,可用 dbclear all。 dbstatus 可列出所有的中斷點。 實例:計算一向量的倒數和 範例: recipsum.m 此函數包含一錯誤,執行時即會出現: 使用dbstop及dbstatus 讓MATLAB 停留在產生錯誤訊息的函數: dbstop if error 確認所建的中斷條件: dbstatus Stop if error. 再呼叫原函數,會停在錯誤發生的程式碼: 使用dbstack及dbtype 此時可在指令視窗使用 dbstack 來顯示 MATLAB 所在的函數: 亦可用 dbtype 來顯示程式碼: 使用dbquit、dbup及dbdown 在除錯器中將x改成input,則正確答案為: 當程式暫停執行於一個函數時,可以使用 dbup 及 dbdown 來跳到不同的工作空間,以便檢視各變數。 設立中斷條件 上述範例修正後的檔案為recipsum1.m,執行時還是可能會有問題 = Divide by zero. 另設一個中斷條件來檢查錯誤所在,再呼叫函數: 除錯後的最終結果 假設在輸入為 0 時,其倒數不計,則程式碼可修正如下,recipsum2.m: 正確答案為: 17-4以圖形介面進行程式除錯 進行除錯,可由指令列下達 edit 指令,如: edit recipsum1 可開啟 MATLAB 除錯器(也是編輯器) 除錯指令與圖示 設立中斷點(1) 欲設立中斷點於 reciproc 函數的第一列,可利用滑鼠將游標置於該列並點取 圖示。(紅點,代表中斷點 ) 設立中斷點(2) 若執行此函數,即可停於該中斷點: recipsum1([1 2 3]) (綠色箭號顯示現在所在的位置 ) 檢視變數或運算式 中斷後可在指令列檢視各個變數的值,或選取工具列上的 stack 下接式選單,以跳至不同的工作空間。 檢視變數或運算式有三 : 在指令列輸入變數或運算式。 選取變數或運算式後,利用滑鼠右鍵點取,並選擇“Evaluate Selection”。 選取變數或運算式後,由工具列的 View 下接式選單選取“Evaluate Selection”。 逐步執行 若按下 圖示(或在指令列輸入 dbstep),則綠色箭號變成向下,代表即將離開此次函數。 再按 (或於指令列輸入 dbstep)數次,即可完成整個函數的逐步執行。 不同版本的
您可能关注的文档
- GZ八十中实验学校冷轶惠教学课件.ppt
- 2015年12月大学英语四六级考试监考培训.ppt
- H1N1新型流感《SwineInfluenzaAH1N1》.ppt
- Chapter4流程分析.ppt
- Chapter7:社群和其他mCommerceC2CC2B.ppt
- Hash在信息学竞赛中的一类应用教学课件.ppt
- Chapter8第八部分教学课件.ppt
- Chapter9LearningintheClassroom课堂学习教学课件.ppt
- 2015年高考复习教学课件.ppt
- Chapter9多原子的半经验方法教学课件.ppt
- 高校教师资格证之《高等教育心理学》考前冲刺试卷有答案详解.docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷带答案详解(b卷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷带答案详解(满分必刷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷带答案详解(满分必刷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷带答案详解(典型题).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷带答案详解(满分必刷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷含答案详解(预热题).docx
- 2024年甘肃陕煤集团韩城煤矿招聘笔试真题含答案详解(培优b卷).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷含答案详解(轻巧夺冠).docx
- 高校教师资格证之《高等教育心理学》考前冲刺试卷带答案详解(研优卷).docx
文档评论(0)