方法/步驟
1
下述方法描述中,採用如下例項程式進行說明。
%例項程式
[xx,yy] = meshgrid(1:20,1:20);
d = sqrt(xx.^2+yy.^2);
zz = peaks(10);
out = d + zz;
surf(out);shading interp;
2
MATLAB程式執行錯誤後,切換到MATLAB命令列中,觀察命令列中的錯誤資訊,確定錯誤原因
錯誤語句定位後,自動跳轉到程式碼編輯器中,在程式碼編輯器中透過游標標識錯誤程式碼的位置
確定錯誤語句後,透過F12快捷鍵在錯誤語句處設定斷點
斷點設定完成後,透過F5快捷鍵重新執行程式,程式會在斷點處停止執行,進入除錯狀態
在除錯狀態下有多個步驟可以查詢程式問題的原因。
(1)將滑鼠放置在變數上方,這時程式碼編輯器會自動顯示變數的型別、維數、各維大小等資訊,根據此資訊幫助程式設計師查詢程式中變數錯誤原因。
(2)將問題程式碼行復制到在MATLAB命令列中執行,重現錯誤。這樣可以反覆重新錯誤,而不中斷程式執行,而且不用重新執行程式,提高除錯效率。
在除錯狀態下有多種方法可以查詢程式問題的原因。
(3)透過whos、size、help等命令協助確定錯誤原因。其中,whos命令可以檢視當前工作區中變數列表,size可以確定某一變數的維數和各維大小,help可以確定某一運算子或函式的幫助資訊。
如:
K>> whos
Name Size Bytes Class Attributes
ans 1x2 16 double
d 20x20 3200 double
filename 1x60 120 char
xx 20x20 3200 double
yy 20x20 3200 double
zz 10x10 800 double
K>> size(zz)
ans =
10 10
K>> size(d)
20 20
K>> help +
plus - Addition
C = A + B
C = plus(A,B)
plus 的參考頁
另請參閱 cumsum, minus, sum, uplus
名為 plus 的其他函式
finance/plus, fixedpoint/plus, symbolic/plus, matlab/plus, +,
symbolic/plus, +, matlab/+, symbolic/+
K>>
仔細分析上述資訊,最終確定MATLAB程式執行錯誤的原因。上述例項中,程式執行錯誤的原因為:變數a和變數zz的行數和列數不一致,不符合+運算子的要求。
方法/步驟
1
下述方法描述中,採用如下例項程式進行說明。
%例項程式
[xx,yy] = meshgrid(1:20,1:20);
d = sqrt(xx.^2+yy.^2);
zz = peaks(10);
out = d + zz;
surf(out);shading interp;
2
MATLAB程式執行錯誤後,切換到MATLAB命令列中,觀察命令列中的錯誤資訊,確定錯誤原因
錯誤語句定位後,自動跳轉到程式碼編輯器中,在程式碼編輯器中透過游標標識錯誤程式碼的位置
確定錯誤語句後,透過F12快捷鍵在錯誤語句處設定斷點
斷點設定完成後,透過F5快捷鍵重新執行程式,程式會在斷點處停止執行,進入除錯狀態
在除錯狀態下有多個步驟可以查詢程式問題的原因。
(1)將滑鼠放置在變數上方,這時程式碼編輯器會自動顯示變數的型別、維數、各維大小等資訊,根據此資訊幫助程式設計師查詢程式中變數錯誤原因。
在除錯狀態下有多個步驟可以查詢程式問題的原因。
(2)將問題程式碼行復制到在MATLAB命令列中執行,重現錯誤。這樣可以反覆重新錯誤,而不中斷程式執行,而且不用重新執行程式,提高除錯效率。
在除錯狀態下有多種方法可以查詢程式問題的原因。
(3)透過whos、size、help等命令協助確定錯誤原因。其中,whos命令可以檢視當前工作區中變數列表,size可以確定某一變數的維數和各維大小,help可以確定某一運算子或函式的幫助資訊。
如:
K>> whos
Name Size Bytes Class Attributes
ans 1x2 16 double
d 20x20 3200 double
filename 1x60 120 char
xx 20x20 3200 double
yy 20x20 3200 double
zz 10x10 800 double
K>> size(zz)
ans =
10 10
K>> size(d)
ans =
20 20
K>> help +
plus - Addition
C = A + B
C = plus(A,B)
plus 的參考頁
另請參閱 cumsum, minus, sum, uplus
名為 plus 的其他函式
finance/plus, fixedpoint/plus, symbolic/plus, matlab/plus, +,
symbolic/plus, +, matlab/+, symbolic/+
K>>
仔細分析上述資訊,最終確定MATLAB程式執行錯誤的原因。上述例項中,程式執行錯誤的原因為:變數a和變數zz的行數和列數不一致,不符合+運算子的要求。