- MATLAB/Simulink權威指南:開發環境、程序設計、系統仿真與案例實戰
- 徐國保 張冰 石麗梅 吳凡
- 1142字
- 2019-12-20 20:33:31
3.4 程序調試
程序調試是程序設計的重要環節,MATLAB提供了相應的程序調試功能,既可以通過文件編輯器進行調試,又可以通過命令窗口結合具體的命令進行調試。
3.4.1 命令窗口調試
MATLAB在命令窗口運行語句,或者運行M文件時,會在命令窗口提示錯誤信息。一般有兩類錯誤:一類是語法錯誤;另一類是程序邏輯錯誤。
1.語法錯誤
語法錯誤一般包括文法或詞法的錯誤,例如,表達式書寫錯誤和函數的拼寫錯誤等。MATLAB能夠自己檢查出大部分的語法錯誤,給出相應的錯誤提示信息,并標出錯誤在程序中的行號,通過分析MATLAB給出的錯誤信息,不難排除程序代碼中的語法錯誤。例如,在命令窗口輸入下面語句:

以上,MATLAB給出了錯誤提示,并給出了一個可能正確的表述式。
如果在M文件語句出現錯誤,會在命令窗口提示錯誤所在的行和列信息,例如:

運行文件untitled.m,結果如下:

提示是第4行、第26列鼠標所在位置是2a之間,經檢查發現少了一個“?”乘號。
2.程序邏輯錯誤
程序邏輯錯誤是指程序運行結果有錯誤,MATLAB系統對邏輯錯誤是不能檢測和發現的,也不會給出任何錯誤提示信息。這時需要通過一些調試手段來發現程序中的邏輯錯誤,可以通過獲取中間結果的方式來獲得錯誤可能發生的程序段。采取的方法是:
(1)可以將程序中間的一些結果輸出到命令窗口,從而確定錯誤的區斷。命令語句后的分號去掉,就能輸出語句的結果。或者用注釋%,放置在一些語句前,就能忽略這些語句的作用。逐步測試,就能找到邏輯錯誤可能出現的程序區段了。
(2)使用MATLAB的調試菜單(Debug)調試。通過設置斷點和控制程序單步運行等操作。
3.4.2 MATLAB菜單調試
MATLAB的文件編輯器除了能編輯和修改M文件之外,還能對程序菜單調試。通過調試菜單可以查看和修改函數工作空間中的變量,找到運行的錯誤。調試菜單提供設置斷點的功能,可以使得程序運行到某一行暫停運行,可以查看工作空間中的變量值,來判斷斷點之前的語句邏輯是否正確。還可以通過調試菜單逐行運行程序,逐行檢查和判斷程序是否正確。
MATLAB調試菜單界面如圖3-13所示。調試菜單界面上有“斷點”選項,該選項下有4種命令:
(1)全部清除,清除所有文件中的全部斷點。
(2)設置/清除,設置或清除當前行上的斷點。
(3)啟用/禁止,啟用或者禁止當前行上的斷點。
(4)設置條件,設置或修改條件斷點。
在程序某行設置斷點后,程序運行到該行就暫停下來,并在命令窗口顯示:K>>,可以在K>>后輸入變量名,就能顯示變量的值,從而可以分析和檢查前面的程序是否正確。然后可以單擊調試菜單的“繼續”選項,在下個斷點處暫停,這時又可以輸入變量名,檢查變量的值。如此重復,直到發現程序問題為止。

圖3-13 調試菜單界面
3.4.3 MATLAB調試函數
MATLAB調試程序還可以利用調試函數,如表3-1所示。
表3-1 MATLAB常用調試函數

表3-1中的各調試函數的功能和作用和菜單調試用法類似,具體使用方法可以用MATLAB的幫助命令help查詢。
- Visualforce Development Cookbook(Second Edition)
- Hands-On Artificial Intelligence on Amazon Web Services
- Circos Data Visualization How-to
- 空間機器人遙操作系統及控制
- 西門子S7-200 SMART PLC從入門到精通
- 輕松學Java
- iClone 4.31 3D Animation Beginner's Guide
- Apache Spark Deep Learning Cookbook
- 網絡化分布式系統預測控制
- 分數階系統分析與控制研究
- Mastering ServiceNow Scripting
- 軟件構件技術
- PLC與變頻技術應用
- 貫通Hibernate開發
- Hands-On Business Intelligence with Qlik Sense