反馈控制系统的数学模型及设计工具Word格式文档下载.docx
- 文档编号:15251827
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:24
- 大小:934.45KB
反馈控制系统的数学模型及设计工具Word格式文档下载.docx
《反馈控制系统的数学模型及设计工具Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《反馈控制系统的数学模型及设计工具Word格式文档下载.docx(24页珍藏版)》请在冰豆网上搜索。
对于传递函数的分母或分子有多项式相乘的情况,MATLAB提供了求两个向量的卷积函数—conv()函数求多项式相乘来解决分母或分子多项式的输入。
conv()函数允许任意地多层嵌套,从而表示复杂的计算.应该注意括号要匹配,否则会得出错误的信息与结果。
例2一个较复杂传递函数模型
该传递函数模型可以通过下面的语句输入到MATLAB工作空间去。
num=2*conv([12],[13]);
den=conv(conv(conv([11],[11]),[16]),[1234]);
2s^2+10s+12
--------------------------------------------------------------
s^6+10s^5+32s^4+60s^3+83s^2+70s+24
对于一个tf对象,它有自己的属性(域元素),属性值既可以直接获取也可以通过函数get来获取。
另外可以用函数set设置属性值。
tf对象的属性有:
>
set(tf)
num:
Ny-by-Nucellofrowvectors(Nu=no.ofinputs)
den:
Ny-by-Nucellofrowvectors(Ny=no.ofoutputs)
Variable:
['
s'
|'
p'
z'
z^-1'
q'
]
Ts:
Scalar(sampletimeinseconds)
ioDelay:
Ny-by-Nuarray(I/Odelays)
InputDelay:
Nu-by-1vector
OutputDelay:
Ny-by-1vector
InputName:
Nu-by-1cellarrayofstrings
OutputName:
Ny-by-1cellarrayofstrings
InputGroup:
M-by-2cellarrayforMinputgroups
OutputGroup:
P-by-2cellarrayforPoutputgroups
Notes:
Arrayorcellarrayofstrings
UserData:
Arbitrary
将例2传递函数算子符号变为p,延迟时间设为0.5,可以使用两种MATLAB语句来实现:
G.Variable='
P'
;
G.Td=0.5;
或
set(G,'
Variable'
'
Td'
0.5);
这时再显示G时,将得到:
G
2p^2+10p+12
exp(-0.5*p)*---------------------------------------------------------------------
p^6+10p^5+32p^4+60p^3+83p^2+70p+24
也可用get()语句来获取属性:
get(G)
num:
{[000021012]}
{[1103260837024]}
'
0
0.5
{'
'
}
{0x2cell}
Notes:
{}
UserData:
[]
1.2零极点模型
零极点模型是描述单变量线性时不变系统传递函数的另一种常用方法,一个给定传递函数的零极点模型一般可以表示为
其中,,k分别是系统的零点、极点和根轨迹增益。
G=zpk(z,p,k)
注意:
对单变量系统来说,系统的零极点应该用列向量来表示。
同样,zpk对象有自己的属性值,该属性值可以用get()函数来获取,用set()来设置。
具体操作同tf对象属性的操作。
zpk对象的属性有:
set(zpk)
z:
Ny-by-Nucellofvectors(Nu=no.ofinputs)
p:
Ny-by-Nucellofvectors(Ny=no.ofoutputs)
k:
Ny-by-Nuarrayofdouble
DisplayFormat:
roots'
time-constant'
frequency'
Arbitrary
例3假设系统的零极点模型为
则该模型可以由下面语句输入到MATLAB工作空间去。
k=2;
z=[-2;
-1+j;
-1-j];
p=[-1.4142+1.4142*j;
-1.4142-1.4142*j;
3.9765+0.0432*j;
3.9765-0.0432*j];
G=zpk(z,p,k)
Zero/pole/gain:
2(s+2)(s^2+2s+2)
-----------------------------------------------------
(s^2-7.953s+15.81)(s^2+2.828s+4)
1.3状态方程模型
状态方程式描述系统动态模型的另外一种方法,它不但适合于线性模型,也适于描述非线性模型。
由一个例子引出状态方程模型:
其微分方程为:
若令,则有
对于线性时不变系统来说,其状态方程为
在Matlab下只需将各系数矩阵输到工作空间即可。
调用格式:
G=ss(A,B,C,D)
同样可以用set(ss)得到状态方程的所有域元素细节,get(G)得到模型的域值。
例4双输入双输出系统的状态方程表示为
该状态方程可以由下面语句输入到MATLAB工作空间去。
A=[1,2,0,4;
3,-1,6,2;
5,3,2,1;
4,0,-2,7];
B=[2,3;
1,0;
5,2;
1,1];
C=[0,0,2,1;
2,2,0,1];
D=zeros(2,2);
G=ss(A,B,C,D)
a=
x1x2x3x4
x11204
x23-162
x35321
x440-27
b=
u1u2
x123
x210
x352
x411
c=
y10021
y22201
d=
y100
y200
Continuous-timemodel.
2模型的基本结构
在实际应用中,系统的模型通常是由相互连接的模块构成的,本节将介绍相互连接的系统结构的总模型求取方法。
2.1串联连接结构
在串联连接下(如图1(a)所示),整个系统的传递函数为。
对单变量系统来说,这两个模块是可以互换的,对多变量系统来说,一般不具备这样的关系。
假设在MATLAB下第一个模块的LTI对象为G1(它可以由tf,ss和zpk中任意的形式给出),而第二个模块的LTI对象为G2,则整个串联系统的LTI模型可以由下列MATLAB命令得出
G=G1*G2;
2.2并联连接结构
在并联连接下(如图1(b)所示),整个系统的传递函数为。
假设在MATLAB下第一个模块的LTI对象为G1(它可以由tf,ss和zpk中任意的形式给出),而第二个模块的LTI对象为G2,则整个串联系统的LTI模型可以由下列MATLAB命令得出
G=G1+G2;
2.3反馈连接结构
两个模块和正、负反馈连接后(如图2所示),系统总的模型分别为:
控制系统工具箱提供了feedback()函数,用来求取反馈连接下总的系统模型。
G=feedback(G1,G2,sign)
其中变量sign为-1(或+1)表示负反馈(或正反馈),缺省为负反馈结构。
G1、G2分别为前向、反向模型的LTI对象,G为总系统模型。
例5有两个模型,,如果采用负反馈结构可以用下面的MATLAB语句得到整个系统的传递函数模型。
G1=tf(1,[1,2,1]);
G2=tf([1,2],[1,7,12]);
G=feedback(G1,G2)
s^2+7s+12
---------------------------------------
s^4+9s^3+27s^2+32s+14
若采用正反馈连接结构,则得出下面结果
G=feedback(G1,G2,+1)
s^4+9s^3+27s^2+30s+10
2.4复杂系统的传递
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 反馈 控制系统 数学模型 设计 工具