1. 程式人生 > >Matlab模擬除錯入門1

Matlab模擬除錯入門1

一、matlab新建指令碼檔案,程式如下

num =100 ;  % 傳遞函式分子
i = 0 ;     % 迴圈次數計數
% 定義迴圈變數 sigma, 從 0 開始,每次增加 0.25, 直至 1.25
for sigma = 0 : 0.25 : 1.25      
den = [1  2*sigma*10  100];    % 傳遞函式分母及 D(s)
% damp 函式,求出 D(s)的 pole(零極點) damping(阻尼比) frequency(頻率)
damp (den)                     
    sys = tf (num , den)       % tf 函式,求出系統的傳遞函式 sys
    i = i+1 ;                  % 迴圈計數
    step (sys , 2)             % sys 的階躍響應曲線
    hold on
end
grid                           % 繪圖顯示柵格
hold off
title ( '阻尼比不同時的階躍響應曲線' )     % title
lab1= 'ζ = 0'; text (0.3, 1.9, lab1),   % 在指定座標 (x,y) 處顯示字元
lab2 = 'ζ = 0.25'; text (0.3, 1.5, lab2),
lab3 = 'ζ= 0.5'; text (0.3, 1.2, lab3),
lab4 = 'ζ=0.75'; text (0.3, 1.05, lab4),
lab5 = 'ζ=1'; text (0.35, 0.9, lab5),
lab6 = 'ζ=1.25'; text (0.35, 0.8, lab6) 

在第 9 行新增斷點
在這裡插入圖片描述
斷點新增後點擊“執行”程式執行到斷點出停止執行:
在這裡插入圖片描述
同時在命令列視窗中可看到執行的結果:
在這裡插入圖片描述
同時在工作區 i = 0(因為I = i + 1; 尚未執行),sigma = 0
在這裡插入圖片描述
點選“步進”,執行“i = i+1;”,可以看到工作區的 i 的值變為 1
在這裡插入圖片描述
當多次步進後,滿足條件跳出 for 迴圈,此時 i = 6, sigma = 1.25
在這裡插入圖片描述
繼續步進至程式結束,得出影象如下
在這裡插入圖片描述

二、總結

  1. 在程式需要停止的地方,設定斷點
  2. 注意觀察程式中的變數在工作區的值的變化,有助於程式的分析
  3. 這只是 matlab 除錯入門,大量的除錯技巧參考連結
    http://www.cnblogs.com/xingshansi/articles/6477185.html

所思所想,所感所悟,與你共同 成長。cgrowth。
所思所想,所感所悟,與你共同 成長。cgrowth.