第8章在自动控制中的应用
第8章 在自动控制中的应用
8.1控制工具箱中的LT对象 ·由6.4节可以看到,一个线性系统可以采取四种不 同的方法进行描述,每种方法又需要几个参数矩 阵,因此对系统进行调用和计算都很不方便。根 据软件工程中面向对象的思想,MATLAB通过建 立专用的数据结构类型,把线性时不变系统的各 种模型封装成为统一的LTl(Linear Time Invariant)对象,它在一个名称之下包含了该系 统的全部属性,大大方便了系统的描述和运算。 ·这一节是本章的基础,即使会用原有控制工具箱 的读者,也必须阅读这一节,才能掌握本章
8.1 控制工具箱中的LTI对象 • 由6.4节可以看到,一个线性系统可以采取四种不 同的方法进行描述,每种方法又需要几个参数矩 阵,因此对系统进行调用和计算都很不方便。根 据软件工程中面向对象的思想,MATLAB通过建 立专用的数据结构类型,把线性时不变系统的各 种模型封装成为统一的LTI(Linear Time Invariant)对象,它在一个名称之下包含了该系 统的全部属性,大大方便了系统的描述和运算。 • 这一节是本章的基础,即使会用原有控制工具箱 的读者,也必须阅读这一节,才能掌握本章
8.1.1LT对象的类型和属性 。I MATLAB控制系统工具箱中规定的LTI对象, 包含了以下三种子对象:S$对象、f对象和 zpk对象,他们分别与状态空间模型、传递 函数模型和零极增益模型相对应。每个对 象都具有其属性和方法,通过对象方法可 以存取或者设置对象的属性值。 这三种对象的共同属性见表8.1。除了具有 LT的共同的属性(即子对象可以继承父对 象的属性)外,还具有一些各自特有的属 性
8.1.1 LTI对象的类型和属性 • MATLAB控制系统工具箱中规定的LTI对象, 包含了以下三种子对象:ss对象、tf对象和 zpk对象,他们分别与状态空间模型、传递 函数模型和零极增益模型相对应。每个对 象都具有其属性和方法,通过对象方法可 以存取或者设置对象的属性值。 • 这三种对象的共同属性见表8.1。除了具有 LTI的共同的属性(即子对象可以继承父对 象的属性)外,还具有一些各自特有的属 性
LT对象的共同属性 。采样周期T$:当系统为离散系统时,它给出了系 统的采样周期,Ts=0或默认时表示系统为连续 时间系统,T$=-1表示系统是离散系统,但它的 采样周期未定。 ● 输入时延Td:仅对连续时间系统有效,其值为由 每个输入通道的输入时延组成的时延数组,默认 表示无输入时延。 ● 输入变量名InputName和输出变量名OutputName 允许用户定义系统输入输出的名称,可默认。 ●说明Notes和用户数据Userdata用以存储模型的 其他信息,常用于给出描述模型的文本信息,也 可以包含用户需要的任意其他数据,可默认
LTI对象的共同属性 ⚫采样周期Ts:当系统为离散系统时,它给出了系 统的采样周期,Ts = 0或默认时表示系统为连续 时间系统,Ts = -1表示系统是离散系统,但它的 采样周期未定。 ⚫ 输入时延Td:仅对连续时间系统有效,其值为由 每个输入通道的输入时延组成的时延数组,默认 表示无输入时延。 ⚫ 输入变量名InputName和输出变量名OutputName 允许用户定义系统输入输出的名称,可默认。 ⚫ 说明Notes和用户数据Userdata用以存储模型的 其他信息,常用于给出描述模型的文本信息,也 可以包含用户需要的任意其他数据,可默认
各LT对象的特有属性 ·三种对象的特有属性见表8.2。 每一类对象只含有自己的属性,这些属性中绝大部 分前面己叙述过。num是6.4节中的f,den是6.4节 中的g,只有Variable同属于前两类对象,它是用来 显示系统函数中频率变量的。默认时连续系统为$, 离散系统为z,对DSP(数字信号处理)式传递函 数为z-1,p和q留给用户自行规定。 ·ss对象的属性用于“描述状态空间模型”中左端 (导数端)的系数。在标准状态空间模型中,它是 单位矩阵eye(n)。ss对象的属性StateName用于定 义状态空间模型中每个状态的名称
各LTI对象的特有属性 • 三种对象的特有属性见表8.2。 • 每一类对象只含有自己的属性,这些属性中绝大部 分前面已叙述过。num是6.4节中的f,den是6.4节 中的g,只有Variable同属于前两类对象,它是用来 显示系统函数中频率变量的。默认时连续系统为s, 离散系统为z,对DSP(数字信号处理)式传递函 数为z^−1,p和q留给用户自行规定。 • ss对象的属性e用于“描述状态空间模型”中左端 (导数端)的系数。在标准状态空间模型中,它是 单位矩阵eye(n)。ss对象的属性StateName用于定 义状态空间模型中每个状态的名称
8.1.2T1模型的建立 ·各种LT对象模型都可以通过一个相应函数来建立, 这种函数有五个,见表8.3。 ·其中dss和ss函数都生成状态空间模型(它包含了 描述状态空间模型);t函数生成的仍然是传递 函数模型,它的存储变量仍是num,den,不过自 动取z-1为显示变量,所以五种函数实际上生成的 仍然是前面所说的三种对象模型。 。 表8.3中所列的基本格式给出了最低限度应输入的 基本变元,这些变元后面还可以增加对象的属性 参数
8.1.2 LTI模型的建立 • 各种LTI对象模型都可以通过一个相应函数来建立, 这种函数有五个,见表8.3。 • 其中dss和ss函数都生成状态空间模型(它包含了 描述状态空间模型);filt函数生成的仍然是传递 函数模型,它的存储变量仍是num,den,不过自 动取z−1为显示变量,所以五种函数实际上生成的 仍然是前面所说的三种对象模型。 • 表8.3中所列的基本格式给出了最低限度应输入的 基本变元,这些变元后面还可以增加对象的属性 参数
8.1.3对象属性的获取和修改 1.对象属性提取和修改的方法见表8.4 ■用get和set命令:这种方法可以看到模型中 存储的全部属性并可对它们进行修改。 ■用单元阵列的访问方法提取单项属性和对 它单独赋值(参阅4.8节) ■加上8.1.1节中介绍的用tf,zpk,Ss等函数 重新生成系统。 所以共有了三种方法来设置对象属性
8.1.3 对象属性的获取和修改 1.对象属性提取和修改的方法见表8.4 ◼ 用get和set命令:这种方法可以看到模型中 存储的全部属性并可对它们进行修改。 ◼用单元阵列的访问方法提取单项属性和对 它单独赋值(参阅4.8节). ◼加上8.1.1节中介绍的用tf,zpk,ss等函数 重新生成系统。 所以共有了三种方法来设置对象属性
2.模型类型的参数转换和提取 第六章中采用转换命令:Ss2tf,sstzp,tf2zp, tf2ss,Zp2tf,Zp2ss等。用这些命令时,输入变 元中要键入系数矩阵,不太方便。在采用LT模型 以后,就不再用这些命令来进行模型变换了,而 用能直接调用系统的LT名称的命令来实现这些转 换。这些命令就是dssdata,ssdata,tfdata和 zpkdata,它们分别用来获得转换后的系统状态空 间、传递函数和零极增益参数。与ss,tf,zpk命 令的不同在于这些带data的命令仅仅用来转换参 数,但并不生成新的系统
2.模型类型的参数转换和提取 第六章中采用转换命令:ss2tf,sstzp,tf2zp, tf2ss,zp2tf,zp2ss等。用这些命令时,输入变 元中要键入系数矩阵,不太方便。在采用LTI模型 以后,就不再用这些命令来进行模型变换了,而 用能直接调用系统的LTI名称的命令来实现这些转 换。这些命令就是dssdata,ssdata,tfdata和 zpkdata,它们分别用来获得转换后的系统状态空 间、传递函数和零极增益参数。与ss,tf,zpk命 令的不同在于这些带data的命令仅仅用来转换参 数,但并不生成新的系统
8.1.4 SISO-LTI模型的组合 ·先假定两环节均为单输入单输出的系统SA和SB。 在控制系统工具箱里,合成系统的特性可以用下 列语句实现。 ●两环节串联S=series(SA,SB)或S=SA*SB ●两环节并联S=parallel(SA,SB)或S=SA+SB ●A环节前向,B环节反馈S=feedback(SA,SB) 这几个函数已经在6.4节中介绍过,在这里使用时, 只要输入环节的名称,不必输入其参数矩阵
8.1.4 SISO-LTI模型的组合 • 先假定两环节均为单输入单输出的系统SA和SB。 在控制系统工具箱里,合成系统的特性可以用下 列语句实现。 ⚫ 两环节串联 S=series(SA,SB)或 S=SA*SB ⚫ 两环节并联 S=parallel(SA,SB) 或 S=SA+SB ⚫ A环节前向,B环节反馈 S=feedback(SA,SB) 这几个函数已经在6.4节中介绍过,在这里使用时, 只要输入环节的名称,不必输入其参数矩阵
零极增益法模型组合的编程 串联:将HA(S)和HB(S)的零极增益式代入 H(S)=HA(S)HB(S)中,可以得知,合成系统的零极 点为A,B两系统零极点的并集,即 Z=[ZA,zB];p=[pA,pB];k=KA*kB; 并联:将HA(S)和HB(S)的零极增益式代入 H(S)=HA(S)+HB(S)中,可以得知,合成系统的极 点为A,B两系统极点的并集,即p=[pA,pB];但 其零点没有简单的表示式,只能把求出的求根。 反馈:从反馈公式可以观察到,合成系统的零点为 系统A的零点加系统B的极点,即z=[zA,pB],其 极点没有简单的表示式
零极增益法模型组合的编程 串联:将HA(s)和HB(s)的零极增益式代入 H(s)=HA(s)HB(s)中,可以得知,合成系统的零极 点为A,B两系统零极点的并集,即 z = [zA, zB];p = [pA, pB];k = kA*kB; 并联:将HA(s)和HB(s)的零极增益式代入 H(s)=HA(s)+HB(s)中,可以得知,合成系统的极 点为A,B两系统极点的并集,即p=[pA,pB];但 其零点没有简单的表示式,只能把求出的f求根。 反馈:从反馈公式可以观察到,合成系统的零点为 系统A的零点加系统B的极点,即z = [zA, pB],其 极点没有简单的表示式