Day8--复数和复变函数之拉普拉斯变换及反变换和Z变换及反变换
MATLAB是一個很強大的軟件,在自動控制領域也是使用非常廣泛,本系列博文將基于控制系統仿真進行,參考書籍《MATLAB/Simulink與控制系統仿真》,該系列博文與筆者的自動控制理論(考研篇)互為補充,詳細理論知識點請各位移步自動控制理論(考研篇)系列博客。
8.復數和復變函數之拉普拉斯變換及反變換和Z變換及反變換
8.1 拉普拉斯變換及反變換
注:讀者需要移步筆者的自動控制原理(考研篇)查閱拉氏變換相關知識,或自行查閱拉氏變換相關知識,在此只是說明如何通過MATLAB這個工具去實現拉氏變換及拉氏反變換。
實戰1:求函數f1(t)=eat(af_1(t)=e^{at}(af1?(t)=eat(a為實數)))、f2(t)=t?sin?tf_2(t)=t-\sin{t}f2?(t)=t?sint的拉氏變換。
% 實戰環境:MATLAB 2020b % Tips:以下均由MATLAB驗證>> syms t s a; % 創建符號變量; >> f1=exp(a*t);f2=t-sin(t); % 定義函數 >> L1=laplace(f1);L2=laplace(f2); % 進行拉氏變換 >> L1,L2L1 = -1/(a - s)L2 = 1/s^2 - 1/(s^2 + 1)實戰2:求函數F1(s)=1s(1+s2)、F2(s)=s+3(s+1)(s+2)F_1(s)=\frac{1}{s(1+s^2)}、F_2(s)=\frac{s+3}{(s+1)(s+2)}F1?(s)=s(1+s2)1?、F2?(s)=(s+1)(s+2)s+3?的拉氏反變換。
% 實戰環境:MATLAB 2020b % Tips:以下均由MATLAB驗證% Tips:需要把t定義上,而不是單定義符號變量s >> syms t s; % 定義符號變量 >> F1=1/(s*(1+s^2)); % 定義函數 >> F2=(s+3)/((s+1)*(s+2)); >> f1=ilaplace(F1);f2=ilaplace(F2); % 進行拉氏反變換 >> f1,f2 f1 = 1 - cos(t)f2 = 2*exp(-t) - exp(-2*t)8.2 Z變換及其反變換
注:讀者需要移步筆者的自動控制原理(考研篇)查閱Z變換相關知識,或自行查閱Z變換相關知識,在此只是說明如何通過MATLAB這個工具去實現Z變換及Z反變換。
MATLAB中實現Z變換和反變換的函數:ztrans和iztrans;
實戰3:求函數f1(t)=t、f2(t)=e?at、f3(t)=sin?(at)f_1(t)=t、f_2(t)=e^{-at}、f_3(t)=\sin{(at)}f1?(t)=t、f2?(t)=e?at、f3?(t)=sin(at)的Z變換。
% 實戰環境:MATLAB 2020b % Tips:以下均由MATLAB驗證 % Tips:注意下面符號函數定義>> syms n a w k z T; % 創建符號變量,T為取樣周期; >> x1=ztrans(n*T);x1=simplify(x1); % 進行z變換,并化簡結果 >> x2=ztrans(exp(-a*n*T));x2=simplify(x2); >> x3=ztrans(sin(w*a*T),w,z);x3=simplify(x3); >> x1,x2,x3 x1 = (T*z)/(z - 1)^2 x2 = z/(z - exp(-T*a))x3 = (z*sin(T*a))/(z^2 - 2*cos(T*a)*z + 1)實戰4:求函數F1(s)=1s(s+1)、F2(s)=ss2+a2、F3(s)=a?b(s+a)(s+b)F_1(s)=\frac{1}{s(s+1)}、F_2(s)=\frac{s}{s^2+a^2}、F_3(s)=\frac{a-b}{(s+a)(s+b)}F1?(s)=s(s+1)1?、F2?(s)=s2+a2s?、F3?(s)=(s+a)(s+b)a?b?的Z變換。
% 實戰環境:MATLAB 2020b % Tips:以下均由MATLAB驗證>> syms s n t1 t2 t3 a b k z T; % 創建符號變量,T為采樣周期% 對傳遞函數進行拉氏反變換 >> x1=ilaplace(1/s/(s+1),t1);x1=simplify(x1); >> x2=ilaplace(s/(s^2+a^2),t2);x2=simplify(x2); >> x3=ilaplace((a-b)/(s+a)/(s+b),t3);x3=simplify(x3); >> x1,x2,x3x1 = 1 - exp(-t1)x2 = cos(a*t2)x3 = exp(-b*t3) - exp(-a*t3)% 對傳遞函數反變換后的時域函數進行Z變換>> x1=ztrans(1-exp(-n*T));x1=simplify(x1); >> x2=ztrans(cos(a*n*T));x2=simplify(x2); >> x3=ztrans(exp(-b*n*T)-exp(-a*n*T));x3=simplify(x3); >> x1,x2,x3x1 = z/(z - 1) - z/(z - exp(-T)) x2 = (z*(z - cos(T*a)))/(z^2 - 2*cos(T*a)*z + 1)x3 = z/(z - exp(-T*b)) - z/(z - exp(-T*a))實戰5:求函數F1(z)=2z2?0.5zz2?0.5z?0.5F_1(z)=\frac{2z^2-0.5z}{z^2-0.5z-0.5}F1?(z)=z2?0.5z?0.52z2?0.5z?和F2(z)=z+0.5z2+3z+2F_2(z)=\frac{z+0.5}{z^2+3z+2}F2?(z)=z2+3z+2z+0.5?的Z反變換。
% 實戰環境:MATLAB 2020b % Tips:以下均由MATLAB驗證>> syms z a k T; % 定義符號變量 >> x1=iztrans((2*z^2-0.5*z)/(z^2-0.5*z-0.5));x1=simplify(x1); >> x2=iztrans((z+0.5)/(z^2+3*z+2));x2=simplify(x2); >> x1,x2x1 = (-1/2)^n + 1x2 = (-1)^n/2 - (3*(-2)^n)/4 + kroneckerDelta(n, 0)/4總結
以上是生活随笔為你收集整理的Day8--复数和复变函数之拉普拉斯变换及反变换和Z变换及反变换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安全多方计算——Yao‘s 混淆电路
- 下一篇: html文件无法找到,html文件无法打