matlab访问脉冲传递函数的分母,笔记:系统模型转换

示例:num=[73.22 39.26 165.7 ]

den=[1 1.116 0.709 1.419]

num =

0 -0.1933 0.5872 0.2336

den =

1.0000 -0.2472 0.1775 -0.4286

>>

sysd = tf(num,den,0.01) %建立离散系统的TF模型

Transfer function:

-0.1933 z^2 + 0.5872 z + 0.2336

------------------------------------

z^3 - 0.2472 z^2 + 0.1775 z - 0.4286

Sampling time: 0.01

>> sysc = d2c(sysd)

%将离散系统转换为连续系统

Transfer function:

-21.12 s^2 - 1.012e004 s +

1.3e006

----------------------------------------

s^3 + 84.72 s^2 + 3.917e004 s + 1.04e006

第八章控制系统的数学模型

8.1线性定常系统的数学模型

8.1.1 传递函数模型

1. SISO系统的TF数学模型

MATLAB中用tf函数来建立控制原理中的传递函数模型,称之为TF模型。

【调用格式】

sys = tf(num,den) %建立以num为分子多项式、den为分母多项式的TF模型

sys = tf(num,den,'Property1',V1,...,'PropertyN',VN)

%初始化TF模型的其他属性

sys = tf('s') %建立拉普拉斯变换的自变量s的TF模型

【说明】

1. num和den分别是传递函数的分子多项式系数和分母多项式系数,按s的降幂排列,是细胞数组。

2. tf函数的返回值是一个对象,称之为TF对象,num和den是TF对象的属性。

例8.1.1 设某SISO系统的传递函数为2()210sGsss=++

试建立系统的TF模型。

解:【方法1】直接用分子和分母多项式系数建立TF模型

>>num=[1,0]; den=[1,2,10];

>>sys=tf(num,den) %建立系统的TF模型

Transfer function:

s

--------------

s^2 + 2 s + 10

>>sys.den{1}

%对SISO系统,den{1}表示传递函数的分母多项式系数向量

ans =

1 2 10

【方法2】用s因子和数学运算符建立TF模型

>> s = tf('s'); %建立s的TF模型

>> H = s/(s^2 + 2*s +10);

%用数学运算符建立系统的TF模型

2. MIMO系统的TF模型

在MATLAB中,num{i,j}和den{i,j}分别表示传递函数矩阵的第i行第j列的传递函数的分子多项式系数和分母多项式系数。()Gs

例8.1.2 设某MIMO系统的传递函数矩阵211()245ssGssss−⎡⎤⎢⎥+=⎢⎥+⎢⎥⎢⎥++⎣⎦

试建立系统的TF模型。

解:【方法1】直接用分子和分母多项式系数建立TF模型

118

>>N= {[1 -1];[1 2]}; D= {[1 1];[1 4

5]};

>>sys=tf(N,D) %建立系统的TF模型

Transfer function from input to output...

s - 1

#1: -----

s + 1

s + 2

#2: -------------

s^2 + 4 s + 5

【说明】#1为第1输出对第1输入的传递函数,#2为第2输出对第1输入的传递函数。

【方法2】用s因子和数学运算符建立TF模型

>>s = tf('s')

>>h11 = (s-1)/(s+1);

>>h21 = (s+2)/(s^2+4*s+5);

>> H = [h11; h21]

8.1.2 零极点模型

控制系统的数学模型可以用零点、极点和增益来描述,MATLAB称这种数学模型为零极点增益模型,即ZPK模型,并用zpk函数来建立这种数学模型。

【调用格式】

sys =zpk(z,p,k) %建立以z为零点,p为极点,k为增益的ZPK模型

sys = zpk(z,p,k,'Property1',V1,...,'PropertyN',VN)

%初始化ZPK模型的其他属性

sys = zpk('s') %建立拉普拉斯变换的自变量s的ZPK模型

【说明】

1.

z、p、k分别为系统的零点、极点和增益。z、p、k是细胞数组,对MIMO系统来说z{i,j},p{i,j},k{i,j}分别表示传递函数矩阵的第i行第j列的传递函数的零点、极点、增益。

()Gs

2. zpk函数的返回值是一个对象,称之为ZPK对象,z、p和k是ZPK对象的属性。

3. 如果没有零点,则z为空数组。

例8.1.3 设某SISO系统的传递函数为25(2)()(22sGssss+= ++

试建立系统的ZPK模型。

解:【方法1】直接用零点、极点、增益向量来建立ZPK模型

>>k=5; z=[-2]; p=[0, -1+j,

-1-j];

>>sys = zpk(z,p,k) %建立系统的ZPK模型

Zero/pole/gain:

5 (s+2)

-----------------

s (s^2 + 2s + 2)

【方法2】用s因子和数学运算符建立TF模型

>> s = zpk('s'); %建立s的ZPK模型

>> H = 5*(s+2)/(s*(s^2 + 2*s +10));

%用数学运算符建立系统的ZPK模型

例8.1.4 设某MIMO系统的传递函数矩阵

119

2213(5)(1)()2(22)0(1)(2)(3)sssGssssss−+⎡⎤⎢⎥+⎢⎥=⎢⎥−+⎢⎥−−−⎣⎦

试建立系统的ZPK模型。

解: >> Z = {[], [-5]; [1-i 1+i] , []};

P = {0, [-1 -1]; [1 2 3], []}; K = [-1, 3; 2, 0];

>> H = zpk(Z,P,K) %建立系统的ZPK模型

Zero/pole/gain from input 1 to output...

-1

#1: --

s

2 (s^2 - 2s + 2)

#2: -----------------

(s-1) (s-2) (s-3)

Zero/pole/gain from input 2 to output...

3 (s+5)

#1: -------

(s+1)^2

#2: 0

8.1.3 状态空间模型

现代控制理论用状态空间模型来描述系统的运动规律,在MATLAB中用ss函数来建立控制系统的状态空间模型,称之为SS模型。

【调用格式】

sys = ss(a,b,c,d) %建立状态空间模型

sys = ss(a,b,c,d,'Property1',V1,...,'PropertyN',VN)

%初始化模型的其他属性

sys = ss(d) %建立静态增益矩阵d的状态空间模型

【说明】

1. a,b,c,d分别表示状态方程的系统矩阵、输入矩阵,输出矩阵和传输矩阵。

2. ss函数的返回值是一个对象,称之为ss对象,a,b,c和d是ss对象的属性。

3. 如果d=0,ss函数可以直接用标量0作为输入变量,忽略了对d的维数要求。

例8.1.5 已知系统的状态空间描述为

112233010001110031xxxxuxx⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=−−+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥−⎣⎦⎣⎦⎣⎦⎣⎦&&&

[]123100xyxx⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦

试建立系统的SS模型传递函数。

解:>> A=[0 1 0;0 -1 -1;0 0

-3];B=[0;1;1];C=[1 0 0];D=0;

>> ss(A,B,C,D)

a =

x1 x2 x3 120

x1 0 1 0

x2 0 -1 -1

x3 0 0 -3

b =

u1

x1 0

x2 1

x3 1

c =

x1 x2 x3

y1 1 0 0

d =

u1

y1 0

Continuous-time model.

8.1.4 频

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值