控制系统时区域分析经典三则
控制系统时间域分析及拉普拉斯过渡方程Fortran语言编程实现
time Domine Analysis in Control System with Computer Fortan Programming 内容与附图页码一致符合国际标准。
******************************* 2020-8-29
本章节 控制系统时间域分析及计算机Fortran语言编程
************************************************
++++++++++++++++++++++++++++++++++++++++++++++++
************************************************
例9.1, 9.2,9.3,9.4,9.5,9.6,9.7,9.8,和9.9,例9.10,9.11,例D1,和例E
共十三例系统分析,分析评估各系统的时间响应,稳定性,不稳定性和系统的性能。
例9.1,9.2(方式方法), 例9.3,9.4(流行病传播一), 例9.5,9.6(倒立摆稳定系统),例9.7,9.8(RCL
电路网络信号系统),例9.9, 9.10和9.11(流行病传播二), 和例D1(RCL电路系统分析,前回例9.7,计算机算法),例E.(线性非时变系统,评估过渡函数方程式矩阵,计算机Fortran编程实现)。
系统分类:a,b,和c
a.三大种系统:1. 倒立摆动力学系统,2. RLC电路网络信号系统,和3.流行病传播系统
b.两大类系统性质:线性非时变,和非线性时变
c.两大种分析方法:系统信号流程图状态模型,拉普拉斯变换过渡函数矩阵-状态向量微分方程式法,解答评估,劳斯-赫维茨判据,梅逊增益公式, 适合线性非时变,和离散-时间法适合上述各种系统分析。
各类系统分析内容术语:I,II,III,IV,V,和VI
I. 例9.1,和9.2,系统信号流程图状态模型,分析方式方法,
例9.1, 一单闭环控制系统---系统的转换函数---状态向量微分方程---流程图的向量微分方程---两种信号流程图状态模型T(s),
例9.2 考察例9.1系统在时间域的稳定性---转换函数T(s)---系统的特征方程q(s)---
劳斯-赫维茨判据---q(s)的根均处于s平面的左手边表示系统稳定,而处于右手边不稳定。
II. 例9.3,9.4,9.9,9.10,和9.11 流行病传播系统分析
例9.3,上回所述方式方法实现的演示A.---微分方程式(3个)组描述一种流行病的传播---代表反馈系统---(也可很好表示一种新理念的信息通过大众传播)--- 一种流行病传播的状态模型流程图---第n级微分方程的评估(行列式确定值)---系统的特征方程和稳定性
例9.4,接着上例9.3(续),---流行病系统的向量微分方程---特征方程---流程图方法---系统的稳定性
III. 例9.5,和9.6 倒立摆动力学系统
前回例9.1和9.2所讲的方式方法实现演示B.
指头尖上立扫把杆子---倒立摆的稳定和不稳定性问题---系统的状态变量---微分方程组矩阵---特征方程q(s)---状态向量---控制信息-稳定系统---劳斯-赫维茨判据q(s)的根均处于s平面的左手边表示系统稳定,而处于右手边不稳定---考察一个系统的稳定性方法---反馈控制系统设计---状态变量反馈稳定系统
IV. 例9.7,和9.8 RLC电路网络的状态模型信号系统分析
例9.7 时间响应和过渡函数
一个控制系统-状态变量的时间响应---验证系统的性能---系统的瞬态响应---评估状态向量微分方程的解---过渡矩阵评估代表系统的响应---信号流程图技巧几种---计算机程序-算法-过渡程序---拉普拉拉斯变换-过渡方程式---过渡矩阵---逆解---初始条件输入x01(0)与状态变量输出X01(s)关系---梅逊增益公式---拉普拉斯变换格式的过渡矩阵---RLC网络的状态变量的时间响应示意图---x1-x2平面内状态向量的轨迹示意图----信号流程图法过渡矩阵确定值有力评估系统的时间响应---局限于线性系统分析
例9.8 时间响应的离散-时间评估
状态向量微分方程---系统响应---离散时间逼近法---数值分析+数字计算机数值方法---时间增量T足够小于系统的时间常数---评估响应足够准确---重复运算---计算机适合重复计算---离散状态方程式---离散时间逼近法---不仅可分析线性系统---还特别适合非线性和时变场合的系统分析
V. 例9.9 离散时间法---线性系统评估---过渡矩阵方法和特征方程不适合非线性系统
例9.10 离散时间法---非线性系统评估
例9.11 离散时间法---评估系统既是非线性又是时变的---时变参数
VI. 例D1,例E 线性非时变系统 过渡矩阵 评估 计算机算法,和Fortran编程程序
例D1 上回讲到,例9.7 RCL电路系统分析, 计算机算法,拉普拉斯变换,向量微分方程式组,信号流程图模型,过渡函数,行列式确定值评估, 矩阵,线性非时变系统
例E. 线性非时变系统 过渡函数矩阵评估,向量微分方程式组 评估精度要求,n级系统,n=13足够 Fortran语言编程实现。
************************************************
++++++++++++++++++++++++++++++++++++++++++++++++
************************************************
9/控制系统时间域分析 Pg.cslp311
9.1 介绍
在先前的章节,我们已经研发了数个有用的方法分析和设计反馈系统。拉普拉斯变换用以转换微分系统表达系统为以复数变量,?s术语表示的代数方程。使用这个代数方程,我们能够获得一个过渡函数表示输入输出关系。 那么根轨迹和?s平面方法在拉普拉斯转换表达的基础上进行了开发。更进一步系统的稳态表达术语为实数频率变量,?欧米茄w,开发了,且研究了数个有用的技巧。频率域方法表达为复数变量?s或者实数频率变量?欧米茄w非常有用;它现在和将来保持为控制工程师的一个基础工具之一。可是,由于频率域技巧的局限性和近年来获得的有吸引力的时间域方法要求重新考虑方程式的时间域方法的公式代表着控制系统。频率域技巧局限于应用在线性,时变系统。进一步地讲,它们特别局限于它们在多变量系统中的应用,由于强调过渡函数的输入输出关系。相对应的时间域技巧会可以方便地用于非线性,时变,和多变量系统。一个时变系统其一个或者多个系统参数变化是随着时间变化的函数。例如,一颗飞弹的质量的变化为时间的函数,当飞行时燃料扩充。如章节2.6所讨论的,一个多变量系统是有几个输入和输出信号。一个控制系统问题的时间域公式的解答得益于便捷利用数字和模拟计算机。所以我们会感兴趣再度思考描述动态系统的时间域,正如它们由系统的微分方程表达。
************************************************
控制系统的时间域分析 Pg.cslp312
控制系统的时间域表达是现代控制理论和系统优化的的一种根本基础。在章节10,我们将有机会利用时间域方法设计一个最佳的控制系统。在本章中,我们将开发控制系统的时间域表达,考察这些系统的稳定性,并且演示系统时间相应的几个解决方法。
9.2 一个动态系统的状态变量
控制系统的时间域分析和设计利用了一个系统状态的概念。一个系统的状态是这样的一个数集合,这些数的知识和输入函数将以方程式描述动力学给出将来的状态和系统的输出。对于一个动力系统的状态描述表达为状态变量的一个集合?(x1(t),x2(t),...,?xn(t)). 状态变量是那些变量其确定一个系统将来的行为,当已知了系统现在的状态和激励信号。思考一下图9.1所示的系统,这里?c1(t)和?c2(t)是输出信号,及?u1(t)和?u2(t)是输入信号。如图9.1所示的一组状态变量?(x1,x2,...,xn)是一个数组,已知状态变量的初始值?(x1(t0),x2(t0),...,xn(t0))在初始时间?t0,和输入信号?u1(t)和?u2(t)对于?t>=t0,足以确定输出和状态变量的将来值。
一个状态变量的简单例子是一盏灯的开关。开关可以在开或者关的位置,那么开关的状态可以假设为两个可能值之一。所以若我们知道开关在?t0的当前态(位置),我们就能过确定元素态的将来的值。
所以我们将定义一组状态变量为?(x1,x2),这里
。。。?x1(t)=y(t) 和 ?x2(t)=dy(t)/dt.?。。。
输入信号 输出信号
。。。?系统示意图?。。。
图9.1. 系统方块示意图。
************************************************
9.2 一个动力系统的状态变量 Pg. cslp313
墙壁摩擦f K M ?y(t)
。。。?(示意图)?。。。
图9.2. 一个弹簧质量阻尼系统。
微分方程描述系统的行为并通常列为
。。。?MdydtfKyu(t).?(微分方程式)。。。 (9.1)
为了列出方程式(9.1)为术语状态变量, 我们替代状态变量的定义并得到
。。。?Mdx2dt+(微分方程式) .?。。。 (9.2)
所以我们可以列出微分方程式描述了弹簧质量阻尼系统为一组两个一级微分方程式如下:
。。。?(二个微风方程式组)?。。。 (9.3)(9.4)
这一组微分方程描述了系统状态的行为,表示为每个状态变量的变化率。
做为另一个系统的状态变量特征例子,让我们思考一下如图9.3所示的RLC电路。这个系统的状态描述为一组状态变量?(x1,x2),这里?x1是电容
。。。?u(t)电流源 vc? iL L C ic R vout输出(示意图)?。。。
图9.3. 一个RLC电路。
**************************************************
控制系统的时间域分析 Pg.cslp314
电压?vc(t)和?x2等于电感电流?iL(t)。状态变量的这样选择直观满足, 由于网络存储的能量可以以这些变量描述
。。。?E=1(算式)?。。。 (9.5)
所以,?x1(t0)和x2(t0)代表总的网络的初始能量,即系统的状态t=t0。对于一个无源?RLC网络,要求的状态变量数目等于独立的能量存储元素的个数。在结点使用科基霍夫电流定律, 我们得到了一级微分方程描述了电容电压的变化率为
。。。?ic=(微分方程式)?。。。 (9.6)
。。。?LdiL/dt=(微分方程式).?。。。 (9.7)
这个系统的输出表达为线性代数方程式
。。。?vout=RiL(t).?。。。
我们可以重新列出方程式(9.6)和(9.7)为一组两个一级微分方程式,表达为状态变量?x1和?x2如下: 。。。?(微分方程式组12)?。。。 (9.8)(9.9)
那么信号的输出是
。。。?c1(t)=vout(t)=Rx2.(算式)?。。。 (9.10)
利用方程式(9.8)和(9.9)及网络的初始条件表达为(x1(t0),x2(t0)),我们可以确定系统将来的行为和它的输出。
描述一个系统的状态变量不是唯一的一组,而可以选择几组交替的状态变量组。例如,对于一个二级系统,例如质量-弹簧-阻尼或者?RLC电路,状态变量可能是?x1(t)和?x2(t)的任何两个独立线性组合。所以对于?RLC电路,您可能选择状态变量组为两个电压,?vc(t)和?vL(t),这里?vL是电感上的电压降。那么新的状态变量, ?x1*和?x2*相关于旧的状态变量, ?x1和?x2为
。。。?x12(两个方程式)?。。。 (9.11)(9.12)
*****************************************
9.3 状态向量微分方程 Pg.cslp315
方程式(9.12)代表之间的关系,电感电压和前状态变量?vc和?iL。所以,在一个实际的系统,一组状态变量有几个选择指定存储于一个系统内的能量,所以恰当地描述了系统的动力学。 广泛使用的一组状态变量可能是便于测量的。
一个系统的状态变量是一个系统的状态特征。工程师感兴趣的主要是物理系统, 这里变量是电压,电流,速度,位置,电压,温度,和类似的物理变量。可是,系统状态的概念不局限于物理系统的分析,而是特别有用于分析生物,社会,经济,和物理系统。 对于这些系统, 状态的概念超越了一个物理系统的概念至更广的变量的观点其描述了系统将来的行为。
9.3 状态向量微分方程式
一个系统的状态描述为一级微分方程组列为状态变量?(x12,...,xn).这些一级微分方程式可以列为一般形式
。。。?(一级微分方程式组)?。。。 (9.13)
这里?x'=dx/dt. 所以这一组同时的微分方程组可以用矩阵的格式列出如下:
。。。?d/dt[x12...xn]=(微分方程式矩阵)?.。。。 (9.14)
列矩阵含有状态变量称为状态向量并列为
。。。?x=[x12...xn],?。。。 (9.15)
这里黑体指示一个矩阵。 输入信号的矩阵定义为?u。那么系统可以表达为系统向量微分方程式的紧凑写法为
。。。?x’=Ax+Bu.?。。。 (9.16)
*****************************************
控制系统的时间域分析 Pg. cslp316
矩阵?A是一个?n*n方阵及?B是一个?n*m矩阵。向量矩阵微分方程式关联与系统状态到系统状态的变化率和输入信号。一般地,一个线性系统的输出可以关联与状态变量和输入信号,通过矩阵方程式
。。。?c=Dx+Hu,?。。。 (9.17)
这里?c是一组输出信号表示为列向量格式。
状态向量微分方程(9.16)的解答可以用一种类似的方法获得逼近,我们用以解答一个一级微分方程式。 思考一级微分方程式
。。。?x'=ax+bu,?。。。 (9.18)
这里?x(t)和?u(t)是时间的尺度函数。 我们期望一个指数解答格式?e**at。取方程式(9.18)的拉普拉斯变换, 我们列出
。。。?sX(s)-(算式),?。。。
所以
。。。?X(s)(方程式).?。。。 (9.19)
拉普拉斯逆变换(9.19)的结果解答在
。。。?x(t)=(积分方程式).?。。。 (9.20)
我们期望向量微分方程式的解答类似于方程式(9.20)和指数格式。 矩阵指数函数定义为
。。。?e**At=(指数序列函数)+...?,。。。 (9.21)
其对所有的有限的t和任何?A收敛。 那么向量微分方程的解答找到为
。。。?x(t)=(指数+积分方程).?。。。 (9.22)
方程式(9.22)可以从取方程式(9.16)的拉普拉斯变换获得,并且再排列得到
。。。?X(算式)?。。。 (9.23)
**************************************
9.4 信号流程图状态模型 Pg.cslp317
这里我们写下?sI-A=O/(s), 其为?O/(t)=指数(At)的拉普拉斯变换。取方程式(9.23)的逆变换,并写出右手边的第二项包含有?O/(s)BU(s)的积, 我们得到方程式(9.22)。矩阵的指数函数描述了系统的非强迫响应,并且称其为基础或者过渡矩阵?O/(t). 所以方程式(9.22)可以列为
。。。?x(t)=(积分方程).?。。。 (9.24)
非强迫系统(即, 当?u=0时)的解答简单地是
。。。?[x12...n(t)]=(矩阵阵列).?。。。 (9.25)
所以您写下为了确定过渡函数, 所有的初始条件设为零,除了一个状态变量之外, 并且每个状态变量的输出都经行了评估。 即项?Ov/(t)是第?i个状态变量的响应,由于一个初始条件在第?j个状态变量上,当所以其它状态的初始条件是零。我们应该使用这种关系初始条件和状态变量来评估过渡矩阵的系数,后面章节再讲。可是首先我们将开发几个合适的信号流程状态模型给系统,并考察系统的稳定性通过利用这些流程图。
9.4 信号流程状态模型
一个系统的状态描述了一个系统的动态行为,这里系统动力学的动力学由一个系列的一级微分方程式表示。 另外, 系统的动力学可以由一个向量微分方程表示在方程式中(9.16)。在任一情况, 开发了一种有用的系统模型状态流程图,并且把这一模型用于关联状态变量概念与类似的过渡函数表达。
正如我们前回讲到,一个系统可以由一个输入-输出关系意义描述, 过渡函数?G(s)。例如,若我们感兴趣之间的关系,图9.3网络的输出电压和输入电压, 我们可以得到过渡函数
。。。?G(s)=V0(s)/U(s).(算式)?。。。
?RLC网络的过渡函数的形式是
。。。?G(s)=V0(s)/U(s)=(方程式),?。。。 (9.26)
******************************************
控制系统的时间域分析 Pg.cslp318
这里?r,?b和?r是电路参数?R,?L和?C的函数。?r,?b和?r的值可以从代表微分方程式描述电路的信号流程图确定。 对于?RLC电路(见方程式9.8和9.9),我们有
。。。?x'12,vout(算式123)?。。。(9.27),(9.28),(9.29)
流程图代表这些同时方程式如图9.4,这里?1/s表示一个积分。 通过使用马森信号流增益公式, 我们得到过渡函数
。。。?Vout(s)/U(s)=(算式).?。。。 (9.30)
不幸的是许多电路,机电系统,和其它控制系统不是图9.3那么简单, 常常是一个很难的任务来确定一个系列的微分方程式以描述系统。所以常常但从前回所述的技巧来推导系统的过渡函数,然后推导过渡函数的状态模型。
从系统的过渡函数可以方便地推导出信号流程图状态模型。可是我们在前回讲到, 多于一组的另一状态变量组,所以对于信号流图状态模型多于一种形式。一般地我们可以表示一个过渡函数为
。。。?G(s)=C(s)/U(s)=(算式),?。。。 (9.31)
这里?n>=m和所有的?阿尔法a系数是正实数。 如果我们把分子和分母乘以?s**-n, 我们得到
。。。?G(s)=(算式).?。。。 (9.32)
。。。?(流程图示意图)?。。。
图9.4 RLC网络流程图.
***************************************
9.4 信号流程图状态模型 Pg.cslp319
我们熟悉了马森流程图增益公式使我们认识了分母的反馈系数和分母中的前向通道系数。前回讲到马森的流程图公式并列出
。。。?G(s)=(算式).?。。。 (9.33)
当所有的反馈环碰到,且所有的前馈通道碰到反馈环时,方程式(9.33)简约至
。。。?G(s)=(算式)=前向通道系数的和/1-反馈环系数的和.?。。。(9.34)
有几种流程图可以表示过渡函数。 对两种流程图外形特别感兴趣, 我们这里将详细道来。
为了演示信号流成图状态模型的推导, 让我们首先思考一下四级过渡函数
。。。?G(s)=(四级过渡函数方程式).?。。。 (9.35)
首先我们写下这是一个四级系统, 所以我们辨认四个状态变量(x1234)。回顾一下马森的增益公式,我们写下考虑的分母是一减去环增益的和。 进一步讲,过渡函数的分子等于流程图前馈系统通道的系数。所以我们使用四个积分器如图9.5所示。思考一下最简单系列的积分器的内部互联,我们可以通过图9.6的流程图表达过渡函数。检验图9.6,我们注意到所有的1环是碰着的,而那个流程图的过渡函数实际上是方程式(9.35)。学者们可以方便地验证,通过写下流程图的前向路径系数是?b0/s**4,而分母等于1减去环增益的和。现在思考一下四级过渡函数,当分子多项式
。。。?(示意图)?。。。
图9.5. 四级系统流程图节点和积器分。
**************************************************
控制系统的时间域分析 Pg.cslp320
。。。?(示意图)?。。。
图9.6. 方程式(9.35)的G(s)的一个流程图状态模型。
是?s多相式,所以我们有
。。。?(算式)? (9.36)
在马森增益公式表示前路系数的是分子项。前路将碰到所有的环, 而方程式(9.36)的实现一个合适的信号流程图显示在图9.7。前向路径系数是?b3/s,b2/s2,b1/s3, 及b0/s4按要求提供过渡函数的分子。 回顾一下马森流程图增益公式指出转换函数的分子简单的是前向系数的和。这种信号流程图的普通格式可以代表普通函数方程式(9.36),通过使用?n反馈环包含?an系数和?m前馈系数包含?bm系数。
状态变量辨认在图9.7为每个能源存储元素的输出;即每个积分器的输出。为了获得一级微分方程式组表示状态模型如图9.7,我们将引入新的一组流程图节点紧紧在图9.7的每个积分器之前。由于节点放在每个积分器之前,它们代表每个积分器的导数。信号流程图包括附加的节点如图9.8所示。使用流程图9.8, 我们能够
。。。?U(s)C(s)(示意图)?。。。
图9.7.方程式(9.36)的G(s)的一个流程图状态模型。
*********************************************
9.4 信号流程图状态模型 Pg.clsp321
?小方形=新的节点
。。。?U(s)(示意图)?。。。
图9.8. 带插入节点的图9.7的流程图。
得到下一组一级微分方程式组描述模型的状态:
。。。?x1234(微分方程式组).?。。。 (9.37)
进一步,输出单纯是
。。。?c(t)(算式).?。。。 (9.38)
那么,以矩阵的形式, 我们有
。。。?x'=Ax+bu?。。。 (9.39)
或者
。。。?d/dt[x1234]=(微分矩阵算式)u(t),?。。。(9.40)
及输出是
。。。?c(t)=Dx=[b0123][x1234](矩阵算式).?。。。(9.41)
图9.7的流程图结构不是方程式(9.36)的唯一表达,还可以获得另一个相等有用的结构。同样好表示方程式(9.36)的一个流程图如图9.9所示。在这种情形下,前向系数通过进给前向信号?U(s)获得。
然后输出信号?c(t)等于第一个状态变量?x1(t)。 这个历程
*****************************************************
控制系统的时间域分析 Pg.clsp322
。。。?U(s)(示意图)?。。。
图9.9。 方程式(9.36)的另一种流程状态模型。
图结构具有前向系数?b0123,s4321, 并且所有的前向路径碰到反馈环。所以, 结果的过渡函数实际上等于方程式(9.36)。
使用图9.9的流程图获得一级微分方程式组,我们得到
。。。?(x1234微分方程式组)?。。。 (9.42)
所以, 以矩阵形式, 我们有
。。。?dx/dt= [a3210]x(矩阵)u(t).。。。(9.43)
而图9.9的流程图代表了如图9.7的相同的转换函数,每个图的状态变量不等,由于每个流程图的结构不同。 信号流程图可以认为相当于一台模拟计算机的图。进一步讲,我们认为系统的初始条件可以表示为积分器的初始条件,?x12(0),...,xn(0).让我们思考一个控制系统,并通过利用流程图状态模型的两种格式确定状态向量微分方程。
例9.1. 一个单环控制系统如图9.10所示。系统的闭环转换函数是
。。。?T(s)=C(s)/R(s)=(s算式).?。。。 (9.44)
********************************************
9.4 信号流程状态模型 Pg.cslp323
。。。?R(s)(信号流程示意图)?。。。
图.9.10. 单环控制系统。
分子和分母乘以?s**-3, 我们有
。。。?T(s)=C(s)/R(s)=(算式).?。。。 (9.45)
信号流程图状态模型使用状态变量的前馈提供输出信号如图9.11所示。这个流程图的向量微分方程式是
。。。?x'=[矩阵]x+[矩阵]u(t),?。。。 (9.46)
并且输出是
。。。?c(t)=[6,8,2][x123].?。。。 (9.47)
使用输入变量的前馈流程图状态模型如图9.12所示。 向量微分方程式给这个流程图是
。。。?x'=[数值矩阵]x+[数据]u(t),?。。。(9.48)
且输出是?c(t)=x1(t)。
我们注意到很容易得到转换函数?T(s)的两种信号流图表达。进一步,不必要分化多项式分子或者分母以获得状态微分方程式组。避免分化多项式允许我们避免包含的繁琐的努力。每
。。。?U(s)(示意图)?。。。
图9.11. T(s)的一个流程图状态模型。
*********************************************
控制系统的时域分析 Pg.cslp324
。。。?U(s)(示意图)?。。。
图9.12. 另一种?T(s)的流程图状态模型。
两个中的信号流程图模型代表一台模拟量计算机模拟过渡函数。 两个模型均需要三个积分器, 由于系统是三级。可是重要强调图9.11的状态模型的状态变量不等同于图9.12的状态模型的状态变量。当然,通过一个合适的线性变量转换一组状态变量关联于另一组状态变量。 一种线性矩阵转换表达为?y=Bx,其通过?B矩阵转换?x向量成?y向量(见附录C,特别是回?C-3,给出一个矩阵代数的介绍)。最后, 我们写下转换函数方程式(9.31)代表了一个单输出线性常系数系统,所以转换函数会代表第n级微分方程
。。。?dnC/dtn+ac0tmub(算式).?。。。 (9.49)
所以您可以利用本回的信号流程图状态模型给第n级微分方程获得n个一级微分方程。
9.5 时域内的系统稳定性
可以很容易确认一个系统由一个变量流程图模型成型的稳定性。一个具有输入输出转换函数?T(s)的系统的稳定性可以通过验证分母多项式?T(s)确定。所以,若转换又列为
。。。?T(s)=p(s)/q(s)(算式),?。。。
这里?p(s)和q(s)是在?s的多项式,系统的稳定性表示为根?q(s)。 多项式?q(s), 当设为零时,称为特征方程,前在回2.4已经讨论了。特征方程的根必须处于系统的?s平面的左手边,以展示一个稳定的时间响应。所以,为了确认一个转换函数代表的系统的稳定性,我们考察了特征方程并利用
****************************************
9.5 时域系统的稳定性 Pg.cslp325
罗斯-呼尔韦兹准则。若我们考察的系统由一个信号流程图状态模型表示,我们可以通过评估流程图行列式来获得特征方程式。作为这种方式的演示,让我们考察例9.1的系统的稳定性。
例9.2. 过渡函数?T(s)在例9.1验证是
。。。?T(s)(算式)?。。。 (9.50)
明显地,这个系统的特征方程式是
。。。?q(s)=(算式)?。。。 (9.51)
当然这个特征方程式还很容易从流程图模型获得如图9.7或者图9.9。使用罗斯-呼尔韦兹准则,我们发现系统是稳定的,且?q(s)的所有的根处于?s平面的左手边。
我们常常直接从一组状态微分方程式来确定流程图状态模型。 在这这种情形下,您可以从流程图行列式?A(s)获得特征方程式来直接确定系统的稳定性。这种方式的一种演示将会帮助理解这种方法。
例9.3. 一组微分方程式可以描述一种流行病的传播。研究的人口由分三个组组成, ?x12和x3,这样第一组?x1怀疑有流行病,第二组?x2有感染疾病, 第三组从?x1和?x2迁移出。 ?x3的迁移会是由于免疫,死亡,或者从?x1隔离。反馈系统可以由下列方程式表达:
。。。?(x123微分方程式组)?。。。 (9.52)(9.53)(9.54)
增加到人口的新的可疑的速率等于?u1(t)及感染的速率添加到人口是等于?u2(t)。 对于一个封闭的人口, 我们有?u1(t)=u2(t)=0。很有趣注意到这些方程式可以一样好地表达一个新的理念通过民众传播信息。
这个系统的状态变量是?x12和x3。代表这组微分方程式的信号流程图显示在图9.13。向量
************************************************
控制系统的时域分析 Pg.cslp326
。。。?(示意图)?。。。
图9.13 一种流行病传播的状态模型流程图。
微分方程是等于
。。。?d/dt[x123]=(矩阵).?。。。 (9.55)
通过验证方程式(9.55)和信号流程图, 我们发现状态变量?x3取决于?x1和?x2并不影响变量?x1和?x2.
让我们思考一下一个封闭的人口,以使?u12(t)=0。这个系统的状态空间的平衡点由设定?dx/dt=0获得。在状态空间的平衡点是一个点其系统设定在平衡或者静止状态。 验证方程式(9.55), 我们发现这个系统的平衡点是?x1=0。所以为了确定系统是稳定的且流行性疾病从人口中消除了,我们必须获得系统的特征方程式。从图9.13所示的信号流程图, 我们得到流程图行列式
。。。?A(s)=(算式),?。。。 (9.56)
这里有三个环,其中的两个不碰在一起。 所以,特征方程式是
。。。?q(s)=(算式).?。。。 (9.57)
验证方程式(9.57), 我们发现系统是稳定的,当?(a+r)>0及(ar+b**2)>0.
直接从向量方程式获得特征方程式的一个方法是基于事实即非强迫系统是一个指数函数。无输入信号的向量微分方程是
。。。?x'=Ax,?。。。 (9.58)
这里?x是状态向量。 解答是指数形式且您可能定义一个?拉姆达r常数这样一个状态的系统的解答可能是?xi(t)=kie**rit。?ri称为系统的特征根,就是特征函数的根。 若我们让?x=ce**rt并代替入方程式(9.58),
************************************************
9.5 时域系统的稳定性 Pg.cslp327
我们有
。。。?rce**rt=Ace**rt?。。。 (9.59)
或者 。。。?rx=Ax.?。。。 (9.60)
方程式(9.60)可以重列为
。。。?(rI-A)x=0,?。。。 (9.61)
这里?I等于辨认矩阵而?0等于零矩阵。 这组同时方程式的解有一个非零解,如果或者仅仅当行列式消失时,即,仅仅若
。。。?det(?rI-A)=0.?。。。 (9.62)
从这个行列式评估结果的在?r的第n级方程式是特征方程,且系统的稳定性可以很容易确认。让我们再思考一下前回的例子,以演示这种方式。
例9.4. 流行病系统的向量微分方程在方程式(9.55)给出。特征方程那么是
。。。?(矩阵算式)?。。。 (9.63)
所以我们得到了系统的特征方程,而类似于从流程图方法获得的方程式(9.57)。附加根?r=0结果来自?x3为?(rx1+rx2)的积分的定义, 且?x3不影响其它的状态变量。 所以根?r=0指出积分关联于?x3。特征方程式指出系统是稳定的, 当?(a+y)>0, 及?(ar+b**2)>0.
例9.5. 在您的指头端平衡一个扫把杆子的问题不是不像控制一颗飞弹在起初发射时的姿势的问题。这是一个经典和有趣的问题,一个倒立摆装在一台小车上如图9.14所示。 小车必须移动以使质量?m总是在向上的位置。 状态变量必须表示为
************************************************
控制系统的时间域分析 Pg.cslp328
。。。?(示意图)?。。。
无摩擦表面
图9.14. 一个小车和倒立摆
角转动?西塔O-(t)和小车?y(t)的位置。 描述系统运动的微分方程可以获得,通过列出力在水平方向之和及关于支撑点的力矩之和。我们将假设?M》m并旋转角?O-小,以使方程式为线性。 水平方向的力的和是
。。。?My''+ml(方程式)=0,?。。。 (9.64)
这里?u(t)等于作用在小车上的力,而?l是从质量?m到支撑点的距离?l。关于支撑点的力矩的和是
。。。?(微分方程),?。。。 (9.65)
两个二级方程式的状态变量选为?(x123,4)=(y,y',O-,0-').那么方程式按状态变量列为
。。。?(两个二级微分方程式,1和2)?。。。(9.66)和(9.67)
为了获得必要的一级微分方程式组, 我们解答?lx’4在方程式(9.47),并代入方程式(9.66)得到
。。。?mx'2+(方程式),?。。。 (9.68)
由于?M>>m.代替方程式(9.66)的?x'2到方程式(9.67),我们有
。。。?(Mlx'43gu(t)=0方程式).?。。。 (9.69)
所以四个一级微分方程式可以列为
。。。?(两个一级微分方程式),?。。。
******************************************
9.5 时间域的系统的稳定性 Pg.cslp329
。。。?(两个一级微分方程式),?。。。 (9.70)
所以系统的矩阵是
。。。?A=[4**4矩阵].?。。。 (9.71)
特征方程式可以得自?(rI-A)行列式如下
。。。?确定行列式det[4**4]=0.?。。。 (9.72)
特征方程指示在?r=0有两个根,一个根在?r=+g/l**1/2,及一个根在?r=-g/l**1/2。明显地,系统是不稳定的,由于在右手平面有一个根,在?拉姆达r=+g/l**1/2.
可以设计一个控制系统以致若?u(t)是状态变量的一个函数, 结果将是一个稳定的系统。设计一个稳定的反馈控制系统是基于合适选择其结构。所以如图9.14,思考小车的控制和倒立摆的不稳定,为了控制小车您必须测量和利用系统的状态变量。 所以若您想要测量状态变量?x3=0,可以使用在摆的链接轴上安装一个分压器。类似地,角度的变化率,?x4=0-’,可以通过测速发电机测量。 状态变量,?x1和x2为小车的位置和速度,也可以通过合适的传感器测量。若测量了所有的状态变量, 那么它们可以利用在一个反馈的控制器以使?u=hx, 这里?h是反馈矩阵。 由于状态向量x代表系统的状态,?x(t)的知识和方程组描述系统的动力学给一个系统提供了足够的控制信息和稳定性。这种设计方式称为状态变量反馈。为了演示状态变量反馈的利用,让我们重新考虑一下倒立摆系统的不稳定部分并设计一个合适的状态变量反馈控制系统。
例9.6.为了考察倒立摆系统的不稳定部分,让我们思考一个简化系统。若我们假设控制信号是一个加速度信号和小车的质量可以忽视, 我们可以关注摆的不稳定动力学。当?u(t)是一个加速度信号, 方程式(9.67)
**********************************
控制系统的时间域分析 Pg.cslp330
成为
。。。?(方程式)?。。。 (9.73)
为了简化系统,这里控制信号是加速度信号,小车的位置和速度是积分函数?u(t)。思考中的状态响亮的部分是?[x3,4]=[西塔O-,O-'].所以状态向量微分方程简化为
。。。?d/dt[x34]=(积分矩阵算式).?。。。 (9.74)
明显地,方程式(9.74)的?A矩阵简单地是方程式(9.71)的?A矩阵的右下手部分,并且系统有特征方程?(拉姆达r**2-(g/l))的一个根在?s平面的右手边。为了稳定系统, 我们产生了一个控制信号其为两个状态变量?x3和x4的一个函数。那么我们有
。。。?u(t)=hx(算式)?。。。 (9.75)
代替这个控制信号关系入方程式(9.74),我们有
。。。?[x'34]=[矩阵][x34].?。。。 (9.76)
结合方程式右手边的两个附加项,我们找到
。。。?[x'34]=[矩阵][x34].?。。。 (9.77)
所以获得了特征方程,我们有
。。。?det[确定性行列式](算式).?。。。 (9.78)
所以为了使系统稳定,我们要求?(h2/l)>0和?h1>g.为此我们已经稳定了一个不稳定系统通过测量状态变量?x3和?x4并使用控制函数?u=h1x3+h2x4以获得一个稳定系统。
本回我们已经开发了一种有用的方法考察一个系统的稳定性,由一个状态向量微分方程表达。 进一步, 我们
*****************************************
9.6 时间相应和过渡矩阵 Pg.cslp331
已经建立了一种方法设计一种反馈控制系统,通过使用状态变量作为反馈变量为了增加系统的稳定性。 在下两个章回, 我们将关注开发两种方法获得状态变量的时间响应。
9.6 时间响应和过渡矩阵
常常需要获得一个控制系统的状态变量的时间响应,然后验证系统的性能。可以通过评估状态向量微分方程方便地获得一个系统的瞬态响应。 我们发现在章回9.3状态向量微分方程式(方程式9.24)的解答是
。。。?(积分方程式).?。。。 (9.79)
明显地,若初始条件?x(0),输入?u(t),且已知过渡矩阵?O/(t),?x(t)的时间响应可以数值化评估。所以问题焦点在?O/(t)的评估, 过渡矩阵其代表系统的响应。幸运的是, 过渡矩阵可以方便地评估,通过使用信号流程图技巧,其为我们已经熟识的。
可是,在使用信号流程图进行过渡矩阵评估时, 我们会注意到几种其它现有的评估过渡矩阵的方法,如指数系列的评估
。。。?O/(t)=e**At=(算式)?。。。
以一个取整的格式。一台数字计算机程序取名程序过渡其利用了一个取整系列来评估?O/(t),且一个系统的状态变量在附录E.给出。 另外, 还现存有几种有效的方法评估?O/(t),通过一台计算机的算法的方法; 这些方法在附录D中讨论。
在当地的计算机中心常常会有一个系列的计算机程序,帮助您计算诸多系统的状态变量响应。提供的这些程序以Fortran语言编写。 这一系列提供过渡矩阵以及一个系统的时间响应。
另外, 我们在方程式9.23发现,?O/(s)=[sI-A]**-1.所以,若通过完成矩阵求逆获得?O/(s),我们可以通过写下?O/(t)=L**-1{O/(s)}获得?O/(t). 可是,对于高次系统矩阵求逆过程不普遍。
获得过渡矩阵的信号流程状态模型的有用性成为明显在思考了拉普拉斯变换版的
*********************************************
控制系统的时间域分析 Pg.cslp332
方程式(9.79),当输入是零时。 取拉普拉斯变换方程式(9.79), 当?u(t)=0, 我们有
。。。?(算式)?。。。 (9.80)
所以您可以评估拉普拉斯变换的过渡矩阵从信号流程图确定之间的关系?Xi(s)和状态初始条件[x12(0),...,xn(0)].那么状态过渡矩阵简单是?O/(s)的逆变换;即,
。。。?O/(t)={算式}.?。。。 (9.81)
通过使用马森增益公式获得一个状态变量?Xi(s)和初始条件?x(0)之间的关系。所以对于一个二级系统, 我们会有
。。。?X12(s)=(算式12)?。。。 (9.82)
且通过马森公式可以评估?X1(s)为一个输出和?x1(0)为一个输入之间的关系。所有的过渡矩阵的元素,?O/ij(s),的获得可以通过评估从状态模型流程图来的?Xi(s)和?xj(0)之间的单独关系。 一个例子将演示了确定过渡矩阵的方法。
例9.7.图9.3的?RLC网络的信号流程状态模型显示在图9.4。在9.3和9.4回讨论的这个?RLC网络,可以通过状态变量?x12=vc,iL表示。初始条件?x12(0)相应地代表初始电容电压和电感电流。流程图,包括每个状态变量的初始条件,如图9.15所示。初始条件出现为状态变量的初始值,在每个积分器的输出。
为了获得?O/(s), 我们设?U(s)=0。当RLC=311/2, 我们获得如图9.16所示的信号流程图, 这里检测到了输入和输出节点,由于它们不包含在?O/(s)的评估。 那么, 使用马森的增益公式, 我们得到?x1(0)表示?X1(s)为
。。。?X1(s)=(算式),?。。。 (9.83)
这里?A(s)是图形行列式及?A1(s)是路径协系数。 图形行列式是
。。。?A(s)=(算式).?。。。
路径协系数是?A1=1+3s**-1,当系数是-3s**-1时,由于?x1X1(0,s)之间的路径不碰到环。 所以过渡的第一个元素
*********************************************
9.6 时间响应和过渡矩阵 Pg.cslp333
。。。?(初始条件和输出,示意图)?。。。
图.9.15. RLC网络的流程图。
矩阵是
。。。?O/11(s)(算式).?。。。 (9.84)
元素?O/12(s)的获得通过评估之间的关系?X12(s,0)为
。。。?X1(s)=(算式).?。。。 (9.85)
所以我们得到
。。。?O12/(s)=(算式).?。。。 (9.86)
类似地, 对于?O/21(s)我们有
。。。?O/212(s)=(算式),?。。。 (9.87)
最后,对于?O/22(s)我们得到
。。。?O/22(s)=(算式).?。。。 (9.88)
所以, 过渡矩阵以拉普拉斯变换格式是
。。。?O/(s)=[s矩阵]?。。。 (9.89)
。。。?(示意图)?。。。
图9.16. ?RLC网络的流程图, 当?U(s)=0.
*********************************************
控制系统的时间域分析 Pg.cslp334
。。。?x12(t)t(示意图12)?。。。
图9.17. ?RLC网络的状态变量的时间响应, 对于?x12(0)=1.
特征方程的系数是?(s+1)和?(s+1)所以
。。。?(s+1)(s+2)=(算式).?。。。
那么过渡矩阵是
。。。?O/(t)=[矩阵算式].?。。。 (9.90)
对于不同的初始条件和输入信号?RLC的时间响应的评估现在可以通过方程式(9.79)评估。 例如,当x12(0)=1,和?u(t)=0, 我们有
。。。?[x12(t)]=O/(t)[11]=[矩阵].?。。。 (9.91)
对于这些初始条件的系统响应显示如图9.17。 在?(x1比x2)平面上的状态向量?(x12(t))的轨迹如图9.18所示。
时间响应的评估是利用过渡矩阵的行列式。 而这个方法局限于线性系统, 它是有力的方法并利用类似的信号流图来评估过渡矩阵。
。。。?(示意图)?。。。
图9.18. 在?x1-x2平面上的状态向量的轨迹。
*********************************************
9.7 时间响应的离散-时间评估 Pg.cslp335
一个状态向量微分方程式表示的一个系统的响应可以从利用一种离散时间逼近获得。 离散时间逼近基于把时间轴除为足够小的时间增量。 那么状态变量的值的评估在连续小的时间间隔;即,?t=0,?T,2T,3T,...,这里?T是时间增量?At=T。这个方式是一个熟悉的方法使用在数值分析和数字计算机数值方法。若时间增量,?T与系统的时间常数比较足够小,离散-时间方法评估的响应将会合理准确。
线性状态向量微分方程列出为
。。。?x’=Ax+Bu.?。。。 (9.92)
一个导数的基本定义是
。。。?x'(t)=lim(微分算式).?。。。 (9.93)
所以我们可以利用导数的定义,并确定?x(t)的值,当?t划分为小的间隔?At=T。 所以, 导数的逼近为
。。。?x'=(微分算式),。。。 (9.94)
我们替代入方程式(9.92)获得
。。。?(算式)?。。。 (9.95)
解答x(t+T), 我们有
。。。?x(t+T)(算式运算),?。。。 (9.96)
这里?t划分为宽度为?T的间隔。 所以时间?t再列为?t=kT,这里?k是一个整数指数,以使?k=0,1,2,3,.... 那么方程式(9.96)列为
。。。?xkTTAIxkTTBukT.?。。。 (9.97)
所以在第?(k+1)时刻,状态向量的值评估表示为第?k个时刻?x和?u的值。 方程式(9.97)可以列为
。。。?x(k+1)=(算式),?。。。 (9.98)
*********************************************
控制系统的时域分析 Pg.cslp336
这里?U/(T)=(TA+I)和符号?T从变量项中省略。方程式(9.98)明确地关联于运算结果,为获得x(t)通过前回的?x(k)项评估离散-时间逼近?x(k+1)。重复运算是一种顺序系列计算,并且非常适合数字计算机计算。为了演示这种逼近方法,让我们从新思考图9.3的?RLC网络的响应的评估。
例9.8. 我们将评估?RLC网络的时间响应而不通过使用离散-时间逼近来确定过渡矩阵。所以,如例9.7,我们将让?R,L,和C=311/2。那么,如我们在方程式(9.27)和(9.28)找到的,状态向量微分方程是
。。。?x'=RCLu(t)(微分矩阵算式).?。。。 (9.99)
现在我们必须选择一个足够小的计时器间隔?T以使导数(方程式9.94)的逼近合理精确。必须选择一个合适的间隔?T以致方程式(9.97)稳定。通常, 您选?T小于系统的最小的时间常数的一半。所以,由于这个系统的最短时间常数是0.5秒[回顾特征方程式是?(s+1)(s+2)],我们可能选择?T=0.2。另外,若使用一台数字计算机计算,计算次数并不重要,我们会选择?T=0.05,以便获得较大的精度。可是,例如我们注意到当我们减少增量大小时,计算的次数成比例地增加,若我们希望评估输出从0到10秒。使用?T=0.2秒,方程式(9.97)是
。。。?x(k+1)=(0.2A+I)x(k)+0.2Bu(k).?。。。 (9.100)
所以 。。。?U/(T)=[矩阵数据]?。。。 (9.101)
及 。。。?TB=[矩阵数据]?。。。 (9.102)
现在让我们评估系统的响应, 当?x12(0)=1,和?u(t)=0如例9.7。在起初时刻的响应, 当?t=T,或者?k=0时,是
。。。?x(10)=[矩阵数据].?。。。 (9.103)
*********************************************
9.7 时间响应的离散-时间评估 Pg.cslp337
表9.1
--------------------------------
时间?t, 实际?x1(t),逼近?x12(t),?T=0.1
--------------------------------
。。。?(表格9.1)?。。。
那么在时间?t=2T=0.4秒,或者?k=1,是
。。。?x(2)=(矩阵)x(1)=?。。。 (9.104)
那么响应的值,当?k=2,3,4,...时,以一种类似的方式评估。
现在让我们比较前回使用过渡矩阵评估的实际的系统响应与由离散-时间近似确定的逼近响应。我们在例9.7找到状态变量的实际值,当?x12(0)=1,是?x12(t)=e**-2t。所以可以方便地计算实际值并与时间响应的逼近值比较如表9.1。近似时间响应值?T=0.1秒也在表9.1给出。误差,当?T=0.2,近似是一个常数等于0.07, 且与初始值比较的百分误差是7%。 当?T是等于0.1秒时, 与初始值比较的百分误差近似是3.5%。若我们使用?T=0.05, 逼近的值,当?t=0.2秒时, 是?x1(t)=0.655, 且误差减少为初始值的1.5%。
所以若您使用一台数字计算机通过评估离散-时间响应方程式评估瞬态响应,?T的一个值选择了系统的最小的时间常数的1/10。这种方式得益于一个系统的时间响应的评估。
例9.9. 让我们重新思考一下前回例9.3讲到,一种流行病传播的状态变量表达。状态向量微分方程给出在方程式(9.55)。当常数是?abr=1, 我们有
。。。?(x微分矩阵方程式u).?。。。 (9.105)
这个系统的特征方程,如方程式(9.57)所确定,是?s(方程式)?,所以系统具有复数根。当新的可疑速率是零时,让我们确定一下疾病扩散的瞬态响应;即?u1=0。增加新的感染的速率表达为?u2(0)=1和?u2(k)=
************************************************
控制系统的时域分析 Pg.cslp338
0对于?k》1;即在初始时间仅仅增加一个新的感染(这相当于一个脉冲输入)。由于复数根的时间常数是?1/lwn=2秒, 我们将使用?T=0.2秒。(注意实际的时间单位可能是月,而输入的单位为千)
那么离散时间方程式是
。。。?(矩阵运算算式).?。。。 (9.106)
所以在第一时刻的响应,?t=T,可得到,当?k=0为
。。。?x(1)=[矩阵],?。。。 (9.107)
当?x123(0)=0时。那么输入?u2(k)是零对于?k》1,且在?t=2T的响应是
。。。?x(2)=(矩阵运算).?。。。 (9.108)
在?t=3T的相应那么是
。。。?x(3)=(矩阵运算),?。。。 (9.109)
离散时间逼近方法对评估非线性系统的时间响应特别有用。过渡矩阵方式局限于线性系统,而离散时间逼近不局限于线性系统,并可以方便地应用于非线性和时变系统。基本的状态向量微分方程可以列为
。。。?(方程式)?,。。。 (9.110)
这里?f是一个函数,不必要线性,为状态向量?x和输入向量?u。列向量?f是?x和?u函数的列矩阵。如果系统是控制信号的一个线性函数,方程式(9.110)成为
。。。?(方程式)?。。。 (9.111)
若系统是非时变的,不一定是线性的,即如果微分方程的系数是常数,那么方程式(9.111)是
。。。?(方程式)?。。。 (9.112)
************************************************
9.7 时间相应的一种离散时间评估 Pg.cslp339
让我们思考一下方程式(9.112)给一个非线性系统并确定离散逼近。使用方程式(9.94)做为导数的近似,我们列出
。。。?(x(t+T)-x(t))/T=f(x(t))+Bu(t)?。。。 (9.113)
所以,解答x(k+1)当t=kT,我们得到
。。。?x(k+1)=x(k)+T[f(x(k))+Bu(k)].?。。。 (9.114)
类似地,一般离散时间逼近方程式(9.110)是
。。。?x(k+1)=x(k)+Tf(x(k),u(k),k).?。。。 (9.115)
现在让我们重新思考一下前例,当系统是非线性时。
例9.10. 流行传染病的传播的最佳表达方式为一组非线性方程组
。。。?x1,2,3=(方程组)?。。。 (9.116)
这里组之间的相互作用由非线性项x1x2表示。现在由于系统是非现行的过渡矩阵方式和特征方程式不可用。如前例, 我们让?阿尔法a=贝塔b=伽马r=1及u1(t)=0。另, ?u2(0)=1和?u2(k)=0对于k>=1.我们将再次选择时间增量为?T=0.2秒及初始条件为?x**T(0)=[1,0,0]. 那么替代?t=kT且
。。。?x'i(k)=(xi(k+1)-xi(k))/T?。。。 (9.117)
入方程式(9.116), 我们得到
。。。?(x1(k+1)-x1(k))/T=,?。。。
。。。?(算式组123)?。。。 (9.118)
解答这些方程式给?xi(k+1)和调用?T=0.2, 我们列出
。。。?x123算式组123?。。。 (9.119)
**********************************************
控制系统的时间域分析 cslp340
那么第一时刻的相应, t=T,是
。。。?x123(1)=(x123值)?。。。 (9.120)
再之, 使用方程式(9.119)并写下?u2(1)=0, 我们列出
。。。?x123(2)=(x123值)?。。。 (9.121)
在第三个时刻, 当t=3T, 我们得到
。。。?x123(3)=(x123值)?。。。 (9.122)
保证值的评估沿着一种类似的方式。 我们写下非线性系统的相应明显不同于前例中思考的线性模型。
最后, 为了演示时间域逼近的用途, 让我们考虑一个系统既是非线性又是随时间变化的。
例9.11. 让我们再次考虑流行性传染病的传播,其表达为非线性微分方程式(9.116), 当系数贝塔?b是时间变化的。 时间变量,?b(t)可以代表相互作用的季节周期变化,在感染组合疑似组之间; 即, ??x1(t)和?x2(t)之间的相互作用最大,当人们一起呆在室内, 而最小在夏天。 所以, 我们表示时间变化?贝塔b为
。。。?贝塔b(t)算式?。。。 (9.123)
那么,非线性时间变化微分方程式是
。。。?x'123(t)=(方程式组)?。。。 (9.124)
如例9.10, 我们将让?阿尔法=伽马=1, u12(t)=0,1和u2(k)=0对于k>=1.另, 我们再次选择时间增量?T=0.2秒及初始条件?x**T(0)=[1,0,0]. 然后替代?t=kT和
。。。?x'i(k)=(xi(k+1)-xi(k))/T?。。。 (9.125)
*******************************************
9.8 小结 Pg.cslp341
入方程式(9.124),我们得到
。。。?x123方程组?。。。 (9.126)
求解这些方程式给?xi(k+1)并再次调用?T=0.2, 我们得到
。。。?x123(方程式组)?。。。 (9.127)
那么第一时刻的响应,?t=T是
。。。?x123(1)=(数值组).?。。。 (9.128)
写下
。。。?贝塔b(k)=1+sin(算式)?。。。 (9.129)
我们评估第二时刻的响应
。。。?x123(2)=(方程式组)?。。。 (9.130)
保证值的评估的时间响应跟随类似的方式通过使用方程式(6.129)解释时间变量参数。
线性系统的状态变量的时间相应的评估很容易实现通关使用(1)过渡矩阵方式(2)离散线逼近。 线性系统的过渡矩阵很容易从信号流程图状态模型得到。 对于一个非线性系统, 离散时间逼近提供了一个合适的方法, 并且离散时间近似方法特别有用,如果一个数字计算机用于数值计算。
9.8 小结
本章中我们思考了时间域里的系统描述与分析。 讨论了一个系统的状态的概念和状态变量的定义。 验证了选择一组状态变量,其描述了存储于一个系统里的能量,
****************************************
控制系统的时间域分析 Pg.cslp342
并且写下了一个状态变量组的非唯一性。状态向量微分方程和解答?x(t)进行了讨论。思考了两个替换的信号流模型结构用以代表一个系统的过渡函数(或者微分方程)。 使用梅森的增益公式我们很方便写下流程图模型。那么考虑用向量微分方程术语的状态变量公式代表一个系统的稳定性。一个线性系统的时间相应和它关联的过渡矩阵得以演示。 最后为一个非线性系统和一个时间变化系统考虑了一种离散时间评估。注意流程图状态模型相当于一张模拟计算机示意图,那里每一个积分器的输出是一个状态变量。 另外, 我们发现一个时间响应的离散时间逼近以及为线性系统的过渡矩阵,通过使用一台数字计算机很容易应用到编程和问题解答。 时间域方法可应用于生物,化学,社会学,贸易,和生理学系统以及物理系统,且为一种普遍兴趣的方法。
*****************************************
+++++++++++++++++++++++++++++++++++++++++
*****************************************
附录D/一个线性非时变系统的过渡矩阵通关一种计算机算法的评估 Pg.cslp465
一个线性非时变系统的状态变量微分方程可以列为
。。。?x’=Ax+Bu,?。。。 (D.1)
如本章节9.2所示。 这个方程式的解答是
。。。?x(t)=(积分方程式),?。。。 (D.2)
这里?O/(t)是系统的过渡矩阵。一种有效地计算机算法评估?O/(t)由法德福开发并由摩根使用[1,2].
为了开发算法?O/(t),让我们思考一下增强的方程式(D.1)格式即
。。。?x'=Ax.?。。。 (D.3)
取方程式(D.3)的拉普拉斯变换, 我们有
。。。?(算式)或者(算式).。。。 (D.4)
在方程式(D.4)两边乘以逆反(sI-A), 我们有
。。。?X(s)=(sI-A)**-1*x(0). (D.5)
所以, 再次思考方程(D.2),我们认为
。。。?O/(s)=(sI-A)**-1,?。。。 (D.6)
这里?O/(s)=L{O/(t)}. 所以, 为了得到过渡矩阵我们将
*****************************************
附录 D Pg.cslp466
努力寻找?O/(s)并再简单地取拉普拉斯变换的逆反以得到?O/(t).由于?O/(s)是?s的一个合理的函数给线性非时变系统,我们可以列出方程(D.6)如
。。。?(算式))。。。 (D.7)
通过利用反矩阵的定义(见附录C)。
现在,我们认为?det(sI-A)为特征方程式,所以
。。。?(算式)?。。。 (D.8)
这里我们调用?d1等于?A的特征根的和(见本章节5.2). 矩阵函数?B(s)列为一个多项式
。。。?B(s)=(算式).?。。。 (D.9)
重新列方程(D.7)为
。。。?(算式)?。。。 (D.10)
并替代方程(D.8)和(D.9), 我们有
。。。?(算式)?。。。 (D.11)
方程等于s的次方, 我们有
。。。?(方程式算式组)?。。。 (D.12)
?d1的系数等于?A的根的和,并且可以显示等于?A[1]的轨迹。 即,
。。。?d1=trA=a11+a22+...+ann.?。。。 (D.13)
以一个类似的方式, 我们找到
。。。?(算式组)?。。。 (D.14)
由方程式(D.12)和(D.14)代表的算法很容易由数字计算机编写程序计算。基本地,这中方法是一种方便的计算机技巧
******************************************************
一种线性非时变系统的评估 Pg.cslp467
给矩阵求反(sI-A)。 为了演示此步骤,让我们思考一下章节9.6的问题。
例D.1. 在例9.7中思考的系统流程图如图9.16所示。这个系统的矩阵微分方程是
。。。?x’=Ax,?。。。 (D.15)
这里
。。。?A=[二维数据矩阵].?。。。
这个系统的特征方程是
。。。?(方程推导)?.。。。 (D.16)
系数?d1是
。。。?(算式),?。。。 (D.17)
其实际上是方程(D.16)的根的和。那么我们有
。。。?B1=(矩阵运算推导).?。。。 (D.18)
继续, 我们得到
。。。?AB1=[二维数据矩阵].?。。。 (D.19)
最后, 我们找到
。。。?d2=(运算).?。。。 (D.20)
且?B2=0, 零矩阵。 那么, 思考方程式(D.7), 我们得到
。。。?O/(s)=B(s)/det(sI-A)=(矩阵运算), (D.21)
其等同于我们在章节9.7中的方程(9.89)中获得的解答。
所以,
。。。?(矩阵运算)?。。。 (D.22)
*****************************************
附录 D Pg.cslp468
方程式(D.22)也可以直接从方程式(D.7)得到, 在之后算出?B(s)为
。。。?(集合算式)?。。。,
这里?si是特征方程[2]确切的根。
参考:123, 计算机算法步骤, 线性代数, 非时变多变量系统灵敏系数, 多变量系统灵敏度分析和合成等。
*****************************************
*****************************************
附录 E/程序过渡 Pg.cslp469
程序过渡是一个数字计算机程序可能用于得到过渡矩阵,?O/(t), 为一个线性非时变系统。程序还确定状态变量的值,在由您选择的时间间隔。
程序使用一个求整矩阵系列以确定
。。。?(系列算算式).?。。。 (E.1)
这里?N+1是使用的项数。当然,当?N等于无限时, 指数系列实际上等于?O/(t). 一个N等于十或者二十项的取整系列对应于通常的精度要求常常是相当足够的。可是在每种情况下您可以使用该程序选择要用的项数。
本程序考虑线性向量微分方程
。。。?x'=Ax+Bu,?。。。 (E.2)
这里?x=状态向量及?u=输入向量。 一个新的向量y定义为
。。。?y=[x m],?。。。 (E.3)
这里?m用于产生输入信号?u(t), 而状态向量和输入向量连接在一起作为一个向量。 那么新的向量微分方程是
。。。?y'=Fy.?。。。 (E.4)
那么方程(E.4)的解答是
。。。?y(t)=o/(t)y(0)
=e**Fty(0).?。。。 (E.5)
******************************************
附录 E Pg.cslp470
为了在指定时间间隔评估状态变量, 我们让?t=T, 且我们有
。。。?O/(t)=e**FT.?。。。 (E.6)
取整的系列使用?N+1项,写为?IPROX项在本程序中, 所以
。。。?e**FT=~I+FT+(系列式).?。。。 (E.7)
对于逼近所必要的项目数是精度要求的一个函数。 可是,您写下?1/10!=0.276*10**-6和1/20!=0.41*10**-18.通常15或者20项会足够,且一个检查精度的简单方式是计算?O/(T)对于N=15和N=20两者。对于一个较小的项数逼近时准确的, 当选T时, 对于所有的?F元素?fijT<=1.
输入向量?m产生输入信号给所有的多项式或者正弦波输入。 所以, 可以方便地使用一个阶跃或者斜坡输入。 输入向量用以产生系统的输入?u(t),以致对于一个单位斜坡输入,例如, 我们有
。。。?m’=[m'1'2]=[0100][m1m2]?。。。 (E.8)
及
。。。?m(0)=[0,1]**T.?。。。
一般我们使用输入向量?m=[m12,...mr]**T次数为r。
本程序以计算机Fortran语言书写。最大值?(n+r)可能有是等于13, 这里?n本系统的次数(状态变量的数目)。
使用三组数据卡。第一张列出时间间隔T,?(n+r)=LIM的值,和取整系列IPROX的项目数。本列表应该是根据格式F矩阵。元素应根据格式5E14.7列表按下序:f11,12,...,f1LIM,f21,f22,...,f2LIM,...,fLIM1,flim2,...,fLIMLIM. 数据组列出议题状态向量的初始值,?y(0)。这些列出根据格式?5E14.7,顺序
。。。?x12(00),...,xn(0),m12(0),...,mr(0).
程序输出打印。 本程序演示在这个附录的最后页面。
**********************************************
程序过渡 Pg.cslp471
信号状态流程图(a),(b)
图E.1
例E.1. 让我们思考系统如图E.1(a)所示, 这里状态变量辨认为图E.1(b). 状态向量微分方程是
。。。?x'=[三维矩阵算式]?。。。 (E.9)
思考本系统有一个单位阶跃输入, 以使?m1(t)=r(t),?m’1=0,和?m1(0)=1。 那么议题系统矩阵方程是
。。。y ’=d/dt[x123m1]=[四维矩阵][x123m1]? 。。。 (E.10)
和
。。。yT(0)=[0,0,0,1].。。。
起初, 让我们去?T=0.5和?N+1=IPROX=10项。 另外写下LIM=(n+r)=4。那么第一个数据卡是
。。。?0.5 0 0 0 0 4 0 1 0
--------- ------- -------
T LIM IPROX
F矩阵的元素是:
。。。?(数据列表)?。。。
在?y(t)上的初始条件是:
。。。?(数据列表)?。。。
*******************************************
附录 E Pg.cslp472
?O/(T)的计算值和状态变量在?t=kT是如下:
PHI矩阵元素PHI(I,J)次序
PHI12.....PHI(LIM,LIM).
。。。?(数据列表)。。。
状态向量元素次序
X(12),...(N),M(12),...M(R).
。。。?(数据列表)?。。。
当IPROX增加到15,得输出如下:
PHI矩阵元素PHI(I,J)次数
PHI(1,1),PHI(1,2),...,........PHI(LIM,LIM).
。。。?(数据列表)?。。。
******************************************
程序过渡 Pg.cslp473
。。。?(计算机输出数值)?。。。。
以次状态向量元素
X(12......N), X(N), M(12.....R), M(R).
。。。?(计算机程序输出数值)?。。。
当IPROX增加到20, 获得下列PHI:
。。。?(计算机程序运算输出值)?。。。
明显地,本种情形十项足够, 且十五会提供五位数的精度。 清楚地,本程序便于使用,且想的数目便于改变。
程序过渡
Fortran语言,过渡程序 本体
。。。?Fortran程序本体?。。。
.....
.....
.....维度 ABCD XY
读入
格式
读入
格式
DO循环
继续
*********************************************
附录 E Pg.cslp474
Fortran语言, 过渡程序 本体(续)
。。。?Fortran程序本体(续)?。。。
.....
.....
.....维度 ABCD XY
读入
格式
读入
格式
DO循环
继续
打印输出
GO TO77
结束
**********************************************
表B.2 换算系数(本表国际单位的换算,符合国际标准。) Pg.cls498-1
----------------------------------------------------
换算 至 乘以 | 换算 至 乘以
----------------------------------------------------
Btu ft-lb 778.3 | kw Btu/min 56.92
。。。?(表格)?。。。
----------------------------------------------------
(国际单位的换算,符合国际标准。)
*******************************************
内容附图页码一致如下:
附图待续!
粤港澳大湾区
2020-8-29