资源描述:
《控制系统建模分析设计和仿真ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章MATLAB在自动控制原理的应用5.1控制系统模型5.2控制系统的时域分析5.3控制系统的根轨迹5.4控制系统的频域分析5.5系统的状态空间分析函数5.6极点配置和观测器设置5.7最优控制系统设计5.1控制系统模型5.1.1控制系统的描述与LTI对象1.控制系统的模型及转换线性控制系统是一般线性系统的子系统。在MATLAB中,对自动控制系统的描述采用三种模型:状态空间模型(ss)、传递函数模型(tf)以及零极点增益模型(zpk)。模型转换函数:ss2tf,ss2zp,tf2ss,tf2zp,zp2ss和zp2tf。2.
2、LTI对象为了对系统的调用和计算带来方便。根据软件工程中面向对象的思想,MATLAB通过建立专用的数据结构类型,把线性时不变系统(LTI)的各种模型封装成为统一的LTI对象。MATLAB控制系统工具箱中规定的LTI对象包含了三种子对象:ss对象、tf对象和zpk对象。每个对象都具有其属性和方法,通过对象方法可以存取或者设置对象的属性值。在MATLAB的ControlSystemToolbox(控制系统工具箱)中提供了许多仿真函数与模块,用于对控制系统的仿真和分析。属性说明:(1)当系统为离散系统时,给出了系统的采样周期Ts。
3、Ts=0或缺省时表示系统为连续时间系统;Ts=-1表示系统是离散系统,但它的采样周期未定。(2)输入时延Td仅对连续时间系统有效,其值为由每个输入通道的输入时延组成的时延数组,缺省表示无输入时延。(3)输入变量名InputName和输出变量名OutputName允许用户定义系统输入输出的名称,其值为一字符串单元数组,分别与输入输出有相同的维数,可缺省。(4)Notes和用户数据Userdata用以存储模型的其它信息,常用于给出描述模型的文本信息,也可以包含用户需要的任意其它数据,可缺省。对象名称属性名称意义属性值的变量类型t
4、f对象(传递函数)den传递函数分母系数由行数组组成的单元阵列num传递函数分子系数由行数组组成的单元阵列variable传递函数变量s、z、p、k、z-1中之一zpk对象(零极点增益)k增益二维矩阵p极点由行数组组成的单元阵列variable零极点增益模型变量s、z、p、k、z-1中之一z零点由行数组组成的单元阵列ss对象(状态空间)a系数矩阵二维矩阵b系数矩阵二维矩阵c系数矩阵二维矩阵d系数矩阵二维矩阵e系数矩阵二维矩阵StateName状态变量名字符串单元向量5.1.2 LTI模型的建立及转换函数在MATLAB的控制系
5、统工具箱中,各种LTI对象模型的生成和模型间的转换都可以通过一个相应函数来实现。函数名称及基本格式功能dss(a,b,c,d,…)生成(或将其它模型转换为)描述状态空间模型filt(num,den,…)生成(或将其它模型转换为)DSP形式的离散传递函数ss(a,b,c,d,…)生成(或将其它模型转换为)状态空间模型tf(num,den,…)生成(或将其它模型转换为)传递函数模型zpk(z,p,k,…)生成(或将其它模型转换为)零极点增益模型表5.3生成LTI模型的函数[例5-4]生成离散系统的零极点模型。MATLAB源程序为
6、:z={[],-0.5};p={0.3,[0.1+2i,0.2-2i]};k=[2,3];s6=zpk(z,p,k,-1)运行结果为:Zero/pole/gainfrominput1tooutput:←从第1输入端口至输出的零极点增益2-------(z-0.3)Zero/pole/gainfrominput2tooutput:←从第2输入端口至输出的零极点增益3(z+0.5)-------------------------(z-(0.1+2i))(z-(0.2-2i))Samplingtime:unspecified表明
7、该系统为双输入单输出的离散系统。5.1.3LTI对象属性的设置与转换1.LTI对象属性的获取与设置函数名称及基本格式功能get(sys,‘PropertyName’,数值,…)获得LTI对象的属性set(sys,‘PropertyName’,数值,…)设置和修改LTI对象的属性ssdata,dssdata(sys)获得变换后的状态空间模型参数tfdata(sys)获得变换后的传递函数模型参数zpkdata(sys)获得变换后的零极点增益模型参数class模型类型的检测表5.4对象属性的获取和修改函数2.LTI模型的转换函数表
8、5.5模型检测函数函数名及调用格式功 能isct(sys)判断LTI对象sys是否为连续时间系统。若是,返回1;否则返回0isdt(sys)判断LTI对象sys是否为离散时间系统。若是,返回1;否则返回0isempty(sys)判断LTI对象sys是否为空。若是,返回1;否则返回0is