MATLAB 您所在的位置:网站首页 tf2zp函数matlab MATLAB

MATLAB

2024-07-01 22:32| 来源: 网络整理| 查看: 265

需要用到的函数: ss函数:在已知各矩阵的情况下直接建立系统的状态空间模型。 参数A,B,C,D分别为系统矩阵,输入矩阵(或控制矩阵),输出矩阵,直接传递矩阵。 详见系统的数学模型-(状态空间表达式的建模)

>> g=ss(A,B,C,D);

tf2ss函数:用于从系统的传递函数建立系统的状态空间模型。 参数num,den分别为系统传递函数的分母多项式系数和分子多项式系数。 未知参数A,B,C,D分别为系统矩阵,输入矩阵(或控制矩阵),输出矩阵,直接传递矩阵。 tf2ss是Transfer Function To State-Space representation的简写

>> [A,B,C,D]=tf2ss(num,den);

zp2ss函数:用于已知系统零极点的情况下,建立系统的状态空间表达式。 参数Z,P,Gain分别为系统的零点,极点,增益。 未知参数A,B,C,D分别为系统矩阵,输入矩阵(或控制矩阵),输出矩阵,直接传递矩阵。 zp2ss是Zero Pole To State-Space representation的简写

>> [A,B,C,D]=zp2ss(Z,P,Gain);

例1:把系统的微分方程 d 2 y d t 2 + 0.4 d y d t + y = 2 d u d t + 3 u \frac{d^2y}{dt^2}+0.4\frac{dy}{dt}+y=2\frac{du}{dt}+3u dt2d2y​+0.4dtdy​+y=2dtdu​+3u写成状态空间表达式。 解:经过拉普拉斯变换, s 2 y ( s ) + 0.4 s y ( s ) + 1 y ( s ) = 2 s u ( s ) + 3 u ( s ) s^2y(s)+0.4sy(s)+1y(s)=2su(s)+3u(s) s2y(s)+0.4sy(s)+1y(s)=2su(s)+3u(s) 得传递函数为, G ( s ) = y ( s ) u ( s ) = 2 s + 3 s 2 + 0.4 s + 1 G(s)=\frac{y(s)}{u(s)}=\frac{2s+3}{s^2+0.4s+1} G(s)=u(s)y(s)​=s2+0.4s+12s+3​

>> num=[2 3]; >> den=[1 0.4 1]; >> [A,B,C,D]=tf2ss(num,den) A = -0.4000 -1.0000 1.0000 0 B = 1 0 C = 2 3 D = 0

例2:将系统传递函数 G ( s ) = ( s + 2 ) ( s + 3 ) ( s + 1 ) ( s + 4 ) ( s + 7 ) G(s)=\frac{(s+2)(s+3)}{(s+1)(s+4)(s+7)} G(s)=(s+1)(s+4)(s+7)(s+2)(s+3)​写成状态空间表达式。

>> Gain=1; >> Z=[2;3]; >> P=[1;4;7]; >> [A,B,C,D]=zp2ss(Z,P,Gain) A = 7 0 0 1 5 -2 0 2 0 B = 1 0 0 C = 1 0 1 D = 0


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有