MATLAB - 變換



MATLAB 提供了用於處理變換的命令,例如拉普拉斯變換和傅立葉變換。變換在科學和工程中被用作簡化分析和從另一個角度檢視資料的工具。

例如,傅立葉變換允許我們將表示為時間函式的訊號轉換為頻率函式。拉普拉斯變換允許我們將微分方程轉換為代數方程。

MATLAB 提供了 `laplace`、`fourier` 和 `fft` 命令來處理拉普拉斯變換、傅立葉變換和快速傅立葉變換。

拉普拉斯變換

時間函式 f(t) 的拉普拉斯變換由以下積分給出:

Laplace Transform

拉普拉斯變換也表示為 f(t) 到 F(s) 的變換。您可以看到此變換或積分過程將符號變數 t 的函式 f(t) 轉換為另一個具有另一個變數 s 的函式 F(s)。

拉普拉斯變換將微分方程轉換為代數方程。要計算函式 f(t) 的拉普拉斯變換,請編寫:

laplace(f(t))

示例

在此示例中,我們將計算一些常用函式的拉普拉斯變換。

建立一個指令碼檔案並鍵入以下程式碼:

syms s t a b w

laplace(a)
laplace(t^2)
laplace(t^9)
laplace(exp(-b*t))
laplace(sin(w*t))
laplace(cos(w*t))

執行該檔案時,它將顯示以下結果:

ans =
   1/s^2

ans =
   2/s^3

ans =
   362880/s^10

ans =
   1/(b + s)
  
ans =
   w/(s^2 + w^2)
  
ans =
   s/(s^2 + w^2)

逆拉普拉斯變換

MATLAB 允許我們使用 `ilaplace` 命令計算逆拉普拉斯變換。

例如:

ilaplace(1/s^3)

MATLAB 將執行上述語句並顯示結果:

ans =
   t^2/2

示例

建立一個指令碼檔案並鍵入以下程式碼:

syms s t a b w

ilaplace(1/s^7)
ilaplace(2/(w+s))
ilaplace(s/(s^2+4))
ilaplace(exp(-b*t))
ilaplace(w/(s^2 + w^2))
ilaplace(s/(s^2 + w^2))

執行該檔案時,它將顯示以下結果:

ans =
   t^6/720

ans =
   2*exp(-t*w)

ans =
   cos(2*t)

ans =
   ilaplace(exp(-b*t), t, x)

ans =
   sin(t*w)

ans =
   cos(t*w)

傅立葉變換

傅立葉變換通常將時間的數學函式 f(t) 轉換為一個新函式,有時表示為 或 F,其引數是頻率,單位為週期/秒(赫茲)或弧度/秒。然後,新函式被稱為傅立葉變換和/或函式 f 的頻譜。

示例

建立一個指令碼檔案,並在其中鍵入以下程式碼:

syms x 
f = exp(-2*x^2);     %our function
ezplot(f,[-2,2])     % plot of our function
FT = fourier(f)      % Fourier transform

執行該檔案時,MATLAB 將繪製以下圖形:

Fourier Transforms

顯示以下結果:

FT =
   (2^(1/2)*pi^(1/2)*exp(-w^2/8))/2

繪製傅立葉變換為:

ezplot(FT)

給出以下圖形:

Plotting the fourier transform

逆傅立葉變換

MATLAB 提供了 `ifourier` 命令用於計算函式的逆傅立葉變換。例如:

f = ifourier(-2*exp(-abs(w)))

MATLAB 將執行上述語句並顯示結果:

f =
   -2/(pi*(x^2 + 1))
廣告