当前位置:
文档之家› MATLAB在自动控制中的应用
MATLAB在自动控制中的应用
金陵科技学院机电工程学院 结果: Transfer function: 2s+9 ----------------------------s^4 + 3 s^3 + 2 s^2 + 4 s + 6 Zero/pole/gain: 2 (s+4.5) ------------------------------------------(s+1.386) (s+2.439) (s^2 - 0.825s + 1.775) z= [-4.5000] p= [4x1 double] k= 2 ans = 0.4125 + 1.2668i 0.4125 - 1.2668i -2.4388 -1.3861
金陵科技学院机电工程学院
例4.1 模型转换方法的比较
已知系统的状态空间模型,求出它的传递函数 模型、零极增益模型。
1 1 0 1 x 0 2 0 x 0 u , y 1 2 3x 1 0 4 1
解:按上述方程输入状态方程系数矩阵A,B, C,D,注意这是一个单输入单输出系统,D是 1×1阶的。故必须置为[0]。
4.1 控制工具箱中的LTI对象 ——LTI的参数转换
>> num=[2, 9]; >> den=[1 3 2 4 6]; >> sys1=tf(num,den) >> [a,b,c,d]=ssdata(sys1)
结果: Transfer function: 2s+9 ----------------------------s^4 + 3 s^3 + 2 s^2 + 4 s + 6 a= -3.0000 -1.0000 -1.0000 -0.7500 2.0000 0 0 0 0 2.0000 0 0 0 0 2.0000 0 b= 1 0 0 0 c= 0 0 0.5000 1.1250 d= 0
金陵科技学院机电工程学院
例4.1 模型转换方法的比较
结果: 方法一 用LTI对象和控制系统工具箱命令建新模型 系统的传递函数模型 Transfer function from input to output... -2 s + 2 ------------s^2 - 5 s + 4 系统的零极增益模型 Zero/pole/gain from input to output... -2 (s-1) ----------(s-4) (s-1)
三种子对象的共同属性:
采样周期Ts:
Ts = 0或默认时表示系统为连续时间系统 Ts = -1表示系统是离散系统,但它的采样周期未定。 仅对连续时间系统有效,其值由时延数组组成,默 认表示无输入时延。
输入时延Td:
输入变量名InputName和输出变量名 OutputName:
用户定义系统输入输出的名称,可默认。
Zero/pole/gain: 2 (s-2) (s-3) (s-4) ------------------(s-1) (s-2)
金陵科技学院机电工程学院
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
特有的属性及模型建立:
状态空间模型:
Ax Bu x y Cx Du
金陵科技学院机电工程学院
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
特有的属性及模型建立:
零极点增益模型: ( s z1 )(s z2 )...(s zm ) G( s ) K ( s p1 )(s p2 )...(s pn ) 式中:K为系统增益,zi为零点,pj为极点 在MATLAB中,零极点增益模型用[z,p,K]矢量组表 示。即:
金陵科技学院机电工程学院
例4.1 模型转换方法的比较
方法二 用LTI对象和控制系统工具箱命令提取参数 系统的传递函数参数 f1 = [1x3 double] g1 = 系统的零极增益参数 [1x3 double] z1 = 要知道f,g的内容,键入f1{:.:},g1{:,:} [1.0000] ans = p1 = 0 -2.0000 2.0000 [2x1 double] ans = k1 = 1 -5 4 -2.0000 要知道p的内容,键入p1{:,:} ans = 4 1 金陵科技学院机电工程学院
在Matlab中,可以利用分别定义的传递函数分子、 分母多项式对其加以描述。
num = [ c1, c2, …, cn-1, cn]
den = [1, a1, a2,…,an-1, an]
注意:它们都是按s的降幂进行排列的
sys=tf(num,den)
金陵科技学院机电工程学院
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
注:与ss,tf,zpk命令的不同在于这些带data 的命令仅仅用来转换参数,但并不生成新的系 统。
金陵科技学院机电工程学院
4.1 控制工具箱中的LTI对象 ——LTI的参数转换
>> num=[2, 9]; >> den=[1 3 2 4 6]; >> sys1=tf(num,den) >> [f,g]=tfdata(sys1) %生成数据,但不显 示 >> f{1},g{1} %显示数据
特有的属性及模型建立: 例:已知系统传递函数为:
试在Matlab中将上述传递函数模型表示出来。 >> num=[2, 9]; >> den=[1 3 2 4 6]; >> sys1=tf(num,den) Transfer function: 2s+9 ----------------------------s^4 + 3 s^3 + 2 s^2 + 4 s + 6 金陵科技学院机电工程学院
2s 9 G( s) 4 s 3s 3 2s 2 4s 6
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
特有的属性及模型建立: 例:对前述模型进行修改
>> num=[2, 9]; >> den=[1 3 2 4 6]; >> sys1=tf(num,den,0.1,'inputname','电流','outputname',' 电压') Transfer function from input "电流" to output "电压": 2z+9 ----------------------------z^4 + 3 z^3 + 2 z^2 + 4 z + 6 紧跟基本变元的第一个不加属 Sampling time: 0.1
金陵科技学院机电工程学院
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
特有的属性及模型建立:
传递函数模型:
Y (s) c1s n1 c2 s n2 ... cn1s cn G( s ) n U ( s) s a1s n1 ... an1s an
金陵科技学院机电工程学院
例4.2 含串联和反馈环节的系统
K1=250,求图示系统的传递函数和极点分布。
s
金陵科技学院机电工程学院
例4.2 含串联和反馈环节的系统
解:根据控制系统工具箱LTI对象运算优 先等级为“状态空间>零极增益>传递函 数”的规定,合成系统的系统函数的对 象特性应按照环节的最高等级来确定。 因此,有一个环节使用零极增益,其他 两个是传递函数,则最后的系统函数就 表现为零极增益。
金陵科技学院机电工程学院
性名称的变元表示采样周期, 模型变为离散系统
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
特有的属性及模型建立: 例:对前述模型进行修改
>> num=[2, 9]; >> den=[1 3 2 4 6]; >> sys1=tf(num,den,'td',0.1,'inputname','电流 ','outputname','电压') Transfer function from input "电流" to output "电压": 2s+9 exp(-0.1*s) * ----------------------------s^4 + 3 s^3 + 2 s^2 + 4 s + 6
金陵科技学院机电工程学院
例:已知一状态方程如下:
解:系统为单输入、单输出系统 >> A=[1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14]; >> B=[4; 2; 2; 1]; >> C=[0 0 2 1]; >> D=zeros(1,1); 注意:模型可以互相转换 >> sys3 = ss(A,B,C,D)
金陵科技学院机电工程学院
4.1 控制工具箱中的LTI对象 ——LTI子对象、模型的建立与转换
MATLAB控制系统工具箱中规定的LTI对象, 包含了以下三种子对象:
tf对象:描述传递函数模型 zpk对象:描述零极增益模型 ss箱中的LTI对象 ——LTI子对象、模型的建立与转换