官术网_书友最值得收藏!

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查詢。

主站蜘蛛池模板: 磐石市| 罗源县| 察隅县| 台江县| 连南| 开化县| 铜山县| 交口县| 孟连| 五家渠市| 贵南县| 县级市| 乐业县| 尚志市| 锡林浩特市| 通化市| 富顺县| 德兴市| 垣曲县| 古浪县| 江都市| 天柱县| 陈巴尔虎旗| 淅川县| 彭水| 衡阳县| 民县| 庆城县| 行唐县| 灵宝市| 大足县| 美姑县| 阳原县| 泰顺县| 潜江市| 循化| 丹巴县| 文安县| 饶阳县| 临漳县| 武强县|