Matlab-transforms

提供:Dev Guides
移動先:案内検索

MATLAB-変換

MATLABは、ラプラス変換やフーリエ変換などの変換を操作するためのコマンドを提供します。 変換は、分析を簡素化し、別の角度からデータを見るためのツールとして、科学および工学で使用されます。

たとえば、フーリエ変換を使用すると、時間の関数として表される信号を周波数の関数に変換できます。 ラプラス変換により、微分方程式を代数方程式に変換できます。

MATLABは、ラプラス、フーリエ、および高速フーリエ変換で動作する laplacefourier 、および fft コマンドを提供します。

ラプラス変換

時間f(t)の関数のラプラス変換は、次の積分によって与えられます-

ラプラス変換

ラプラス変換は、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は次のグラフをプロットします-

フーリエ変換

次の結果が表示されます-

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

としてフーリエ変換をプロット-

ezplot(FT)

次のグラフを与えます-

フーリエ変換のプロット

逆フーリエ変換

MATLABは、関数の逆フーリエ変換を計算するための ifourier コマンドを提供します。 例えば、

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

MATLABは上記のステートメントを実行し、結果を表示します-

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