2控制系统的数学模型及其转换

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 控制系统的数学模型及其转换
2.1 2.2 2.3 2.4 线性系统数学模型的基本描述方法 系统数学模型之间的相互转换 系统模型的连接 典型系统的生成
1. 2.
3.
控制系统的数学模型在控制系统的研究中 有着相当重要的地位, 要对系统进行仿真处理,首先应当知道系 统的数学模型,然后才可以对系统进行模 拟。 同样,如果知道了系统的模型,才可以在 此基础上设计一个合适的控制器,使得系 统响应达到预期的效果,从而符合工程实 际的需要。
2.2 数学模型的转换
c2d
c2dm d2c d2cm d2d ss2ss minreal
由连续时间模型转换为离 散时间模型
按照指定方式由连续时间 模型转换为离散时间模型 由离散时间模型转换为连 续时间模型 按照指定方式由离散时间 模型转换为连续时间模型 离散时间系统重新采样 状态空间模型的线性变换 最小实现
一.传递函数模型
1. 2.
3.
4.
num=[b0 b1 …bm]; den=[1 a1 …an]; sys=tf(num,den,’property1’,value1,...,’pr opertyN’,valueN) 生成传递函数模型sys.模 型sys的属性及属性值用’property’,value指 定 sys=tf(num,den,Ts,’property1’,value1,..., ’propertyN’,valueN)生成离散时间系统的脉冲 传递函数模型sys
例4
已知多输入多输出系统的零极点增益模ቤተ መጻሕፍቲ ባይዱ如下, 用MATLAB建立其数学模型
s( s 6)(s 5) G( s) ( s 3 i 4)(s 3 i 4)(s 1)(s 2)
% e2_4生成传递函数模型 num=conv(conv([1,0],[1,6]),[1,5]); den=conv(conv(conv([1 3-4i],[1 3+4i]),[1,1]),[1,2]); sys=tf(num,den)

四.部分分式形式
可以由P,R,H向量来表示
ri G( s) h( s ) i 1 s pi
n
数学模型参数的获取
函数名称 使用方法
tfdata ssdata
[num,den]=tfdata(sys) [num,den]=tfdata(sys,’v’) [num,den,Ts]=tfdata(sys) [a,b,c,d]=ssdata(sys) [a,b,c,d,Ts]=ssdata(sys)
sys=tf(num,den,’InputName’,’输入端’,’OutputName’,’输 出端’)
生成离散传递函数模型
% e2_2 生成离散传递函数模型 num=[1 3 2]; den=[1 5 7 3]; sys=tf(num,den,0.1) % 指定采样周期为0.1s sys=tf(num,den,-1) % 未指定采样周期 sys=tf(num,den,0.1,’variable’,’z^-1’) % 指定采样周期为0.1s, 且按照z^-1排列 sys=tf(num,den,0.1,’variable’,’z^-1’,’inputdelay’,2) %指定采 样周期为0.1s,且按照z^-1排列,且延迟时间为2s。 sys=tf(num,den,0.1,’variable’,’p’) %生成连续时间系统传递函数模 型,指定自变量为p
得到变换后的零极点增 益模型参数
得到变换后的频率响应 数据模型参数
说明
1. 为方便多输入多输出模型或模型数组数据的获
取,缺省情况下,函数tfdata和zpkdata以元胞 数组形式返回参数(如num,den,z,p等) 2. 对于单输入单输出模型而言,可在调用函数时 应用第二个输入变量’v’,指定调用该函数时 返回的是向量(vector)数据而不是元胞数组
例11

系统传递函数模型如下所示,用MATLAB建立其传递 函数模型,并获取其零点向量、极点向量和增益等参 数。
4 3 2
3s 2s 5s 4s 6 G( s) 5 4 3 2 s 3s 4s 2s 7 s 2
>> num=[3,2,5,4,6]; >> den=[1,3,4,2,7,2]; >> [z,p,k]=zpkdata(tf(num,den)) >> z1=z{1},p1=p{1} 或>> num=[3,2,5,4,6]; >> den=[1,3,4,2,7,2]; >> [z1,p1,k]=zpkdata(tf(num,den),'v')
2.1 线性系统数学模型的基本描述方法
一.
二. 三. 四.
传递函数模型(系统的外部模型) 零极点增益模型 部分分式形式 状态方程模型(系统的内部模型)
数学模型的建立
tf ss zpk frd 生成(或转换)传递函数模型 生成(或转换)状态空间模型 生成(或转换)零极点增益模型 建立频率响应数据模型

例1
已知控制系统的传递函数如下,用MATLAB建立其数学模型
s 3s 2 G( s) 3 2 s 5s 7 s 3
2
生成连续传递函数模型
% e2_1 生成传递函数模型 num=[1 3 2]; den=[1 5 7 3]; sys=tf(num,den) sys=tf([1 3 2],[1 5 7 3])
10( s 1) G ( s) s ( s 2)(s 5)
%建立连续时间系统模型 z=[-1];p=[0,-2,-5];k=10; G=zpk(z,p,k) 1. %建立离散时间系统模型,指定采样周期为0.1s G2=zpk(z,p,k,0.1) 2. %建立离散时间系统模型,未指定采样周期,设定自变量 为q G3=zpk(z,p,k,-1,'variable','q') 3. %建立离散时间系统模型,指定采样周期0.1s,自变量按 照z-1排列 G4=zpk(z,p,k,0.1,'variable','z^-1')
sys=zpk(‘s’) %指定零极点增益模型以拉氏变换算 子s为自变量 sys=zpk(‘z’,Ts) %指定零极点增益模型以Z变换算 子z为自变量,Ts为采样周期 zsys=zpk(sys) %将任意线性定常系统sys转换为零 极点增益模型tfsys
例7
已知系统的数学模型如下,用MATLAB建立其零极 点增益模型
例6
线性定常系统的传递函数矩阵如下,应用MATLAB 建立其状态空间模型
s 1 s 3 3s 2 3s 2 G ( s) 2 s 3 2 s s 1
e2_6.m
% e2_6生成状态空间模型。 G=[tf([1,1],[1,3,3,2]);tf([1,0,3],[1,1,1])]; ss(G)

元胞数组
是MATLAB中的特殊数组,基本单元是元胞(cell),每个 元胞本身在数组中是平等的,只能以下标区分。 元胞可以存放任何类型、任何大小的数组,并且同一个 元胞数组中各元胞中的内容可以不同。 元胞数组维数不受限制,可以是一维、二维或更高维。 元胞数组必须使用{ },如 >> A=ones(3,4); >> C={A,[1,2];'cell',[1,3]}
例8
已知系统的传递函数如下,用MATLAB建立其零极 点增益模型
10s 20 G( s) 5 4 3 2 s 7 s 20s 28s 19s 5
2
e2_8.m
G=tf([-10,20],[1,7,20,28,19,5]); sys=zpk(G) zero/pole/gain: -10 (s-2) ---------------------- (s+1)^3 (s^2 + 4s + 5)
三.零极点增益模型
sys=zpk(z,p,k,’property1’,value1,...,’propertyN’,valueN) %生
成连续系统的零极点增益模型sys. z,p,k分别对应系统的零点向量、极点向量和增益,模型 sys 的属性及属性值用’property’,value指定 sys=zpk(z,p,k,Ts,’property1’,value1,...,’propertyN’,valueN) % 生成离散时间系统的零极点增益模型sys
二.状态空间模型
sys=ss(a,b,c,d,’property1’,value1,...,’propertyN’, valueN) % 生成连续系统的状态空间模型sys, a,b,c,d分别对应(A,B,C,D),模型sys的属性及属性值 用’property’,value指定 sys=tf(a,b,c,d,Ts,’property1’,value1,...,’property N’,valueN) %生成离散时间系统的状态空间模型sys sys_ss=ss(sys) %将任意线性定常系统sys转换为状态空 间模型
例5
线性定常系统的状态空间表达式如下,应用 MATLAB建立其状态空间模型
2 1 1 1 x x u 1 1 2 1 y 1 0x
% e2_5建立连续时间系统状态空间模型 a=[-2,-1;1,-1]; b=[1,1;2,-1]; c=[1,0]; sys1=ss(a,b,c,d) %建立离散时间系统状态空间模型,采 样周期0.1s sys2=ss(a,b,c,d,0.1) %建立状态空间模型,并指定状态 变量名称、输入变量名称、输出变量名称 sys3=ss(a,b,c,d,0.1,'statename',{'位移','速率 '},'Inputname',{'油门位移','舵偏角 '},'outputname','俯仰角') sys4=tf(sys1)将状态空间模型转换为传递函数模型
功能
得到变换后的传递函数 模型参数 得到变换后的状态空间 模型参数
zpkdata frddata
[z,p,k]=zpkdata(sys) [z,p,k]=zpkdata(sys,’v’) [z,p,k,Ts,Td]=zpkdata(sys)
[response,freq]=frddata(sys) [response,freq]=frddata(sys,’v’) [response,freq,Ts]=frddata(sys)
tf2ss
tf2zp ss2zp ss2tf zp2tf zp2ss
将传递函数模型转换为状态空间 模型
将传递函数模型转换为零极点增 益模型 将状态空间模型转换为零极点增 益模型 将状态空间模型转换为传递函数 模型 将零极点增益模型转换为传递函 数模型 将零极点增益模型转换为状态空 间模型
1. 连续时间模型转换为离散时间模型
例3
已知多输入多输出系统的传递函数如下,用MATLAB 建立其数学模型
s 1 s 2 2s 2 G( s) 1 s
% e2_3生成传递函数模型 num={[1,1];1}; den={[1,2,2];[1,0]}; G=tf(num,den)
sys=tf(‘s’) 指定传递函数模型以拉氏变换算子为 自变量 sys=tf(‘z’,ts) 指定脉冲传递函数模型以Z变换算子 z为自变量,Ts为采样周期 tfsys=tf(sys)将任意线性定常系统sys转换为传递 函数模型 tfsys

说明
对单输入单输出系统,num和den分别为传递 函数的分子向量和分母向量;对多输入多输 出系统, num和den为行向量的元胞数组, 其行数与输出向量的维数相同,列数与输入 向量的维数相同 Ts为采样周期,若未定义,则设置Ts=-1或 者Ts=[] 缺省情况下,生成连续时间系统的传递函数 模型,且以拉氏变换算子s为自变量。
sysd=c2d(sys,Ts,method) 以method指定的离散 化方法将线性定常连续系统sys离散化,包括: zoh零阶保持器;缺省方法 foh一阶保持器; tustin图斯汀变换; matched:零极点匹配法
相关文档
最新文档