使用MATLAB進行拉普拉斯逆變換

爲什麼要進行拉普拉斯逆變換

  • 有些函數中複頻域中求解很困難,我們需要把它變換到時域中,或者想看它在時域中有什麼特性
  • 爲了應付考試中的變態題目

函數名及使用步驟

  • 使用syms 對變量進行定義
  • 使用ilaplace()進行拉普拉斯逆變換

示例

  • 簡單的冪函數

    
    octave:2> syms s;
    octave:3> ilaplace(1/s^3)
    ans = (sym)
    
       2
      t 
      ──
      2 
    
  • 簡單的指數函數

     Octave的顯示更=跟MATLAB不太一樣
    
    octave:4> syms w;
    octave:5> ilaplace(2/(w+s))
    ans = (sym)
    
         -t⋅re(w) - ⅈ⋅t⋅im(w)
      2⋅ℯ                    
    
  • 三角函數

    octave:7> ilaplace(s/(s^2+4))
    ans = (sym) cos(2⋅t)
    

複雜函數的拉普拉斯逆變換

現實中有很多函數通過手算有很大的計算量,或者根本沒有原函數,這個時候我們就只能通過MATLAB來求解
  • 一個例子:

1
我們把它輸入到MATLAB中:

octave:8> F = (5-3*s)/(2+5*s)
F = (sym)

  5 - 3⋅s
  ───────
  5⋅s + 2

octave:9> f = ilaplace(F)
f = (sym)

                                                      -2⋅t 
                                                      ─────
                             ⎛   s               ⎞      5  
  - 3⋅InverseLaplaceTransform⎜───────, s, t, None⎟ + ℯ     
                             ⎝5⋅s + 2            ⎠         

上述結果也可以表示爲:

ilaplace(F)
ans = -3/5*dirac(t)+31/25*exp(-2/5*t)

注意:

其中dirac(t)稱爲狄拉克函數,在自動控制和信號與系統中也叫單位脈衝函數
  • 一個更復雜的例子:

2
與上述步驟類似:

octave:11> F = (-s^2-9*s+4)/(s^2+s+2)
F = (sym)

     2          
  - s  - 9⋅s + 4
  ──────────────
     2          
    s  + s + 2  

octave:12> f = ilaplace(F)
Waiting....!!! OUT OF TIME !!!

這裏Octive已經崩潰了,可見這個原函數實在是太複雜了,我們這裏就不展示了,浪費空間。。。。

配合ezplot()函數繪製逆變換後的圖像

ezplot能夠進行符號計算,不需要自變量的數據就能根據函數特性繪製圖像,但通常要給自變量指定區間

例1

4

  • 求解原函數

     syms s;
     F = 1/(s+7).^2;
     f = ilaplace(F);
    
    
    f =
     
    t*exp(-7*t)
    
  • 繪製某個區間的圖像

     ezplot(f)
    
  • 圖像

    5

例2

6

與上述步驟類似,我們直接放代碼及結果:

  • 代碼

     syms s;
     F = (2*s+3)/(((s+1).^2)*((s+3).^2));
     f = ilaplace(F)
     ezplot(f,[0 1])
    
    f =
     
    exp(-t)/4 - exp(-3*t)/4 + (t*exp(-t))/4 - (3*t*exp(-3*t))/4
    
  • 圖像

    7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章