回覆列表
  • 1 # 程式設計頌

    方法/步驟

    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的行數和列數不一致,不符合+運算子的要求。

  • 中秋節和大豐收的關聯?
  • 七字唯美情話?