现代控制系统分析与设计(2)

2019-08-31 13:20

在命令窗中运行下列命令

>> num=[6];den=[1 6 11 6];Gj=canon(tf(num,den), 'modal') 返回

a =

x1 x2 x3 x1 -3 0 0 x2 0 -2 0 x3 0 0 -1

b =

u1 x1 -7.762 x2 -9.798 x3 2.872

c =

x1 x2 x3 y1 -0.3865 0.6124 1.044

d =

u1 y1 0

Continuous-time model. 例1-6 已知系统的传递函数为

G(s)?2s?10s?17s?11s?5s?8s?43232

将其转换为约当标准型。

在命令窗中运行下列命令

>> num=[2 10 17 11]; den=[1 5 8 4]; Gj=jordants(num,den) 返回 a =

x1 x2 x3 x1 -2 1 0 x2 0 -2 0 x3 0 0 -1 b = u1 x1 0 x2 1

6

x3 1

c =

x1 x2 x3 y1 -1 -2 2 d = u1 y1 2

Continuous-time model.

我们编制的函数ctrlts( )可将传递函数转换为能控标准型。该函数的调用格式为:

Gc?ctrlt(snum,den)

Gc为转换得到的能控其中num和den分别为传递函数的分子和分母多项式系数的行向量,标准型。

该函数的程序如下:

function Gc=ctrlts(num,den) %将传递函数转换为能控标准型 m=length(num)-1;n=length(den)-1; if m==n

[R,P,K]=residue(num,den); num1=num-K*den;

A(n,:)=-1*rot90(den(:,2:n+1),2); A(1:n-1,2:n)=eye(n-1); A(1:n-1,1)=zeros(n-1,1); B=[zeros(n-1,1);1];

C=rot90(num1(:,2:n+1),2); D=K;

else A(n,:)=-1*rot90(den(:,2:n+1),2); A(1:n-1,2:n)=eye(n-1); A(1:n-1,1)=zeros(n-1,1); B=[zeros(n-1,1);1];

C(:,1:m+1)=rot90(num,2); C(:,m+2:n)=zeros(1,n-m-1); D=0; end

Gc=ss(A,B,C,D);

例1-7 将例1-6中的传递函数转换为能控标准型。

在命令窗中运行下列命令 >> num=[2 10 17 11];den=[1 5 8 4];Gc=ctrlts(num,den) 返回 a =

x1 x2 x3 x1 0 1 0 x2 0 0 1 x3 -4 -8 -5 b =

7

u1 x1 0 x2 0 x3 1 c =

x1 x2 x3 y1 3 1 0 d =

u1 y1 2

Continuous-time model.

进一步,求能控标准型的对偶系统可得能观测标准型。在命令窗中运行下列命令 >> Ao=(Gc.a)';Bo=(Gc.c)';Co=(Gc.b)';Do=Gc.d;Go=ss(Ao,Bo,Co,Do) 返回

a =

x1 x2 x3 x1 0 0 -4 x2 1 0 -8 x3 0 1 -5 b = u1 x1 3 x2 1 x3 0 c =

x1 x2 x3 y1 0 0 1 d =

u1 y1 2

Continuous-time model.

下面是介绍MATLAB提供的三个函数tfdata( ), zpkdata( ), ssdata( )。

函数tfdata( ) 可得到传递函数模型的分子分母多项式系数。其调用格式为

[num,den]?tfdata(G,'v')

其中G为系统LTI模型。num和den分别为分子和分母多项式的系数向量。

函数zpkdata( ) 可得到零极点增益模型的零点、极点和增益。其调用格式为

[z,p,k]?zpkdata(G,'v')

其中G为系统LTI模型。z和p分别为零点和极点向量,k为增益。

函数ssdata( ) 可得到状态空间模型的系数矩阵。其调用格式为

[A,B,C,D]?ssdata(G,'v')

其中G为系统LTI模型。A,B,C,D为系数矩阵。

8

3. 模型的连接 1) 串联连接

设线性定常系统?1和?2的LTI模型分别为G1和G2。在MATLAB中, 两者的串联连接(参教材)可由命令G?G2*G1实现,其中G为整个系统的LTI模型。多个系统的串联连接可由命令G?Gn*Gn?1*?*G1实现。 2) 并联连接

设线性定常系统?1和?2的LTI模型分别为G1和G2。在MATLAB中, 两者的并联连接(参教材)可由命令G?G1?G2实现,其中G为整个系统的LTI模型。多个系统的并联连接可由命令G?G1?G2???Gn实现。 3) 反馈连接

设线性定常系统?1和?2的LTI模型分别为G1和G2。在MATLAB中, 两者的反馈

连接(参教材)可由MATLAB提供的函数feedback( )实现。该函数的调用格式为: G?feedbac(Gk1,G2,Sign)

其中G为整个系统LTI模型。如果Sign=-1或省略Sign变量,则表示负反馈。如果Sign=1, 则表示正反馈。

4. 状态空间表达式的相似变换

线性定常系统状态空间表达式为?(A,B,C,D),假设存在一个非奇异矩阵T将原状态x变换为z=Tx, 则状态z对应的状态空间表达式为?(A,B,C,D),其中A?TATB?TB,C?CT?1?1,

MATLAB提供函数ss2ss( )可完成状态空间模型的相似变换。该函数调用格式为

Gt?ss2ss(G,T)

其中G为原状态空间模型。T为变换矩阵。Gt为经变换得到的状态空间模型。 例1-8 考虑一个系统,它的状态空间表达式为

?0???x??21??1?x????u ?3??1?y??10?x

由于该系统的系统矩阵A为友矩阵,所以可由其特征值构造变换矩阵。令变换矩阵T?1为T????11???2??1。

9

在命令窗中运行下列命令

>> A=[0 1;-2 -3];B=[1 1]';C=[1 0];G=ss(A,B,C,0); T=inv([1 1;-1 -2]); G1=ss2ss(G,T) 返回

a =

x1 x2 x1 -1 0 x2 0 -2 b =

u1 x1 3 x2 -2 c =

x1 x2 y1 1 1 d =

u1

y1 0

Continuous-time model.

通过线性变换可将状态空间表达式变换为约当标准型(包括对角标准型),能控标准型和能观测标准型。

MATLAB提供的函数canon( )可将状态空间表达式变换为对角标准型或约当标准型。该函数的调用格式为:

GJ?canon(G,'modal')

其中G为原状态空间模型,而GJ为转换得到的对角标准型或约当标准型。但该函数在系统含有重特征值时,效果不甚理想。

例1-9 利用函数canon( )将例1-8中状态空间表达式变换为对角标准型。 在命令窗中运行下列命令 >> A=[0 1;-2 -3];B=[1 1]';C=[1 0];G=ss(A,B,C,0); G1=canon(G,’modal’) 返回

a =

x1 x2 x1 -1 0 x2 0 -2 b =

u1 x1 4.243 x2 4.472 c =

x1 x2 y1 0.7071 -0.4472 d =

u1 y1 0

10


现代控制系统分析与设计(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:福建申远新材料有限公司年产40万吨聚酰胺一体化项目20万-连江

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: