离散系统差分方程计算

离散系统差分方程计算
离散系统差分方程计算

差分进化算法介绍

1.差分进化算法背景 差分进化(Differential Evolution,DE)是启发式优化算法的一种,它是基于群体差异的启发式随机搜索算法,该算法是Raincr Stom和Kenneth Price为求解切比雪夫多项式而提出的。差分进化算法具有原理简单、受控参数少、鲁棒性强等特点。近年来,DE在约束优化计算、聚类优化计算、非线性优化控制、神经网络优化、滤波器设计、阵列天线方向图综合及其它方面得到了广泛的应用。 差分算法的研究一直相当活跃,基于优胜劣汰自然选择的思想和简单的差分操作使差分算法在一定程度上具有自组织、自适应、自学习等特征。它的全局寻优能力和易于实施使其在诸多应用中取得成功。 2.差分进化算法简介 差分进化算法采用实数编码方式,其算法原理同遗传算法相似刚,主要包括变异、交叉和选择三个基本进化步骤。DE算法中的选择策略通常为锦标赛选择,而交叉操作方式与遗传算法也大体相同,但在变异操作方面使用了差分策略,即:利用种群中个体间的差分向量对个体进行扰动,实现个体的变异。与进化策略(Es)采用Gauss或Cauchy分布作为扰动向量的概率密度函数不同,DE使用的差分策略可根据种群内个体的分布自动调节差分向量(扰动向量)的大小,自适应好;DE 的变异方式,有效地利用了群体分布特性,提高了算法的搜索能力,避免了遗传算法中变异方式的不足。 3.差分进化算法适用情况 差分进化算法是一种随机的并行直接搜索算法,最初的设想是用于解决切比雪夫多项式问题,后来发现差分进化算法也是解决复杂优化问题的有效技术。它可以对非线性不可微连续空间的函数进行最小化。目前,差分进化算法的应用和研究主要集中于连续、单目标、无约束的确定性优化问题,但是,差分进化算法在多目标、有约束、离散和噪声等复杂环境下的优化也得到了一些进展。 4.基本DE算法 差分进化算法把种群中两个成员之间的加权差向量加到第三个成员上以产生新的参数向量,这一操作称为“变异”。然后,变异向量的参数与另外事先确

实验3离散系统的差分方程、冲激响应和卷积分析

实验3离散系统的差分方程、冲激响应和卷积分析 一 一、实验目的 1 加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。 二、实验原理 离散系统 ] [n x ] [n y Discrete-time systme 其输入、输出关系可用以下差分方程描述:∑=∑=-=-M k k N k k k n x p k n y d 0 ][][ 输入信号分解为冲激信号 ∑-=∞ -∞=m m n m x n x ][][][δ 记系统单位冲激响应 ] [][n h n →δ 则系统响应为如下的卷积计算式 ∑∞ -∞ =-= *=m m n h m x n h n x n y ][][][][][ 当 N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为 FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。 二、实验内容 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。 ] 1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y ]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y 程序1: A=[1,0.75,0.125];B=[1,-1]; x2n=ones(1,65); x1n=[1,zeros(1,30)]; y1n=filter(B,A,x1n); subplot(2,1,1);y='y1(n)'; stem(y1n,'g','.'); title('单位冲击响应') 课程名称 实验成绩 指导教师 实 验 报 告 院系 班级 学号 姓名 日期

差分进化算法-入门

基本差分进化算法 1基本差分进化算法的基本思想 DE 算法是一种基于实数编码的用于优化函数最小值的进化算法,是在求解有关切比雪夫多项式的问题时提出来的,是基于群体差异的进化计算方法。它的整体结构类似于遗传算法,一样都存在变异、交叉和选择操作,但是它又不同于遗传算法。与基本遗传算法的主要区别在于变异操作上,如: 1、传统的遗传算法采用二进制编码,而差分进化算法采用实数编码。 2、在遗传算法过两个父代个体的交叉产生两个子个体,而在差分进化算法过第两个或几个个体的差分矢量做扰动来产生新个体。 3、在传统的遗传算法中,子代个体以一定概率取代其父代个体,而在差分进化中新产生的个体只有当它比种群中的个体优良时才替换种群中的个体。 变异是DE 算法的主要操作,它是基于群体的差异向量来修正各个体的值,其基本原理是通过把种群中两个个体的向量差加权后,按一定的规划与第三个个体求和来产生新个体,然后将新个体与当代种群中某个预先决定的个体相比较,如果新个体的目标值优于与之相比较的个体的目标值,则在下一代中就用新个体取代,否则,旧个体仍保存下来。 差分进化算法其基本思想是:首先由父代个体间的变异操作构成变异个体;接着按一定的概率,父代个体与变异个体之间进行交叉操作,生成一试验个体;然后在父代个体与试验个体之间根据适应度的大小进行贪婪选择操作,保留较优者,实现种群的进化。 2 差分进化算法的基本操作 设当前进化代数为t ,群体规模为NP ,空间维数为D ,当前种群为 {}12(),, ,t t t NP X t x x x =,()12,, ,T t t t t i i i iD x x x x =为种群中的第i 个个体。在进化过程 中,对于每个个体t i x 依次进行下面三种操作。 2.1 变异操作 对于每个个体t i x 按下式产生变异个体12(,, ,)t t t t T i i i iD v v v v =,则 123() 1,2, ,D t t t t ij r j r j r j v x F x x j =+-= (1) 其中111112(,,,)t t t t T r r r r D x x x x =,222212(,,,)t t t t T r r r r D x x x x =和333312(,, ,)t t t t T r r r r D x x x x =是群 体中随机选择的三个个体,并且123r r r i ≠≠≠;1t r j x ,2t r j x 和3t r j x 分别为个体1r ,2r 和3r 的第j 维分量;F 为变异因子,一般取值于[0,2]。这样就得到了变异个体t i v 。

控制系统状态方程求解

第2章 控制系统的状态方程求解 要点: ① 线性定常状态方程的解 ② 状态转移矩阵的求法 ③ 离散系统状态方程的解 难点: ① 状态转移矩阵的求法 ② 非齐次状态方程的解 一 线性定常系统状态方程的解 1 齐次状态方程的解 考虑n 阶线性定常齐次方程 ? ? ?==0)0()()(x x t Ax t x & (2-1) 的解。 先复习标量微分方程的解。设标量微分方程为 ? ??==0)0(x x ax x & (2-2) 对式(2-2)取拉氏变换得 )()(0s aX X s sX =- 移项 0)()(x s X a s =- 则 a s x s X -= )(

取拉氏反变换,得 00 0!)()(x k at x e t x k k at ∑∞ === 标量微分方程可以认为是矩阵微分方程当n=1时的特征,因此矩阵微分方程的解与标量微分方程应具有形式的不变性,由此得如下定理: 定理2-1 n 阶线性定常齐次状态方程(2-1)的解为 00 0!)()(x k At x e t x k k At ∑∞ === (2-3) 式中,∑∞ ==0 !)(k k At k At e 推论2-1 n 阶线性定常齐次状态方程 ???==00 )()()(x t x t Ax t x & (2-4) 的解为 0)(0 )(x e t x t t A -= (2-5) 齐次状态方程解的物理意义是)(0 t t A e -将系统从初始时刻0t 的初始 状态0x 转移到t 时刻的状态)(t x 。故)(0 t t A e -又称为定常系统的状态转移 矩阵。 (状态转移矩阵有四种求法:即定义(矩阵指数定义)法、拉氏反变换法、特征向量法和凯来-哈密顿(Cayly-Hamilton )法) 从上面得到两个等式 ∑∞ ==0 !)(k k At k At e ])[(11---=A sI L e At 其中,第一式为矩阵指数定义式,第二式可为At e 的频域求法或拉氏反变换法

基于TSP的改进差分进化算法

龙源期刊网 https://www.360docs.net/doc/5b4778166.html, 基于TSP的改进差分进化算法 作者:朱宇航伏楠 来源:《硅谷》2012年第17期 摘要: 针对TSP问题,提出一种改进的差分进化算法:利用贪心算法产生初始种群,定义特有的编码匹配函数进行变异操作,排序法修复变异个体,并采用顺序交叉,在变异操作之后,加入新的选择机制,防止交叉操作破坏变异出的优良个体,实验结果表明改进后的差分进化算法能够高效地解决TSP问题,体现良好的优化性能。 关键词: 差分进化算法;TSP;进化算法 0 引言 差分进化算法(DE:Differential Evolution)是一种模拟自然进化法则的仿生智能计算方法,在解决复杂的全局优化问题方面,DE的性能更加优秀,过程也更为简单,受控参数少[1],但由于DE 特有的差分操作的限制,DE被成功应用的领域多集中在连续优化领域,在离散优化领域的应用还相对较少[2]。 TSP(旅行商问题)作为典型的离散优化问题,是解决很多实际问题的最终转化形式,同时也是著名的NP难题,在短时间内求出其最优解非常困难,现有解法[3-4]在求解中都各有缺点.因此,研究将DE经过必要的改进后应用于TSP的求解具有重要意义。 1 改进DE算法 1.1 编码及匹配函数 适应度定义为:负的路径长度,使得路径长度越短,适应度值越大。 1.2 贪婪初始化 为提高初始种群的质量,采用贪婪的初始化方法.对于初始种群的每个个体,产生方法如下: step1:初始化待走城市列表List为包含所有城市的列表; step2:随机选择一个城市A作为起点,并将此点作为当前城市T,从List中移除; step3:从List中选择距离城市T最近的城市作为新的当前城市T,并将T从List中移除; step4:判断List是否为空,若是,则结束;若否,则转step3。

离散序列的卷积和系统差分方程的MATLAB实现

信息工程学院实验报告 课程名称:数字信号处理 实验项目名称:离散序列的卷积和系统差分方程的MATLAB 实现 实验时间: 班级:电信131 姓名: 学号:201311404113 一、 实 验 目 的: 熟悉序列的卷积运算及其MATLAB 实现;熟悉离散序列的傅里叶变换理论及其MATLAB 实现;加深对离散系统的差分方程和系统频率响应的理解。 二、实 验 原 理 1、MA TLAB 提供了一个内部函数conv(x,h)来计算两个有限长序列之间的卷积。 2、对于时域离散系统,可用差分方程描述或研究输入、输出之间的关系。对于线性时不变系统,经常用的是线性常系数差分方程。一个N 阶线性常系数差分方程用下式表示: ()() N M i i i i b y n i a x n i ==-=-∑∑ 当 0,1,2,,i b i N == 时,[]h n 是有限长度的,称系统为FIR 系统;反之,称系统为IIR 系统。 在MA TLAB 中,可以用函数filter(a,b,x)求解差分方程,其中参数a,b 分别系统函数的分子和分母多项式的系数。 三、实 验 内 容 与 步 骤 实验内容: 1、已知 1(){1,1,1,1,1}x n =,2(){1,1,1,1,1,1,1}x n =,计算12()()*()y n x n x n =。 2、在0到π区间画出矩形序列 10()R n (其定义见例1-3)的离散时间傅里叶变换(含幅度和相位)。 3、求系统:()0.5((1)(2)(3)(4))y n x n x n x n x n =-+-+-+-的单位冲激响应和阶跃响应。 实验步骤: 1、

第三章线性系统状态方程的解

第三章 系统的分析——状态方程的解 §3-1线性连续定常齐次方程求解 一、齐次方程和状态转移矩阵的定义 1、齐次方程 状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统的状态方程的齐次部分为: )()(t Ax t x =& 线性定常连续系统: Ax x =& 初始条件:00x x t == 2、状态转移矩阵的定义 齐次状态方程Ax x =&有两种常见解法:(1)幂级数法;(2)拉氏变换法。其解为 )0()(x e t x At ?=。其中At e 称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为: At e t =)(φ。 若初始条件为)(0t x ,则状态转移矩阵记为:) (0 0)(t t A e t t -=-Φ 对于线性时变系统,状态转移矩阵写为),(0t t φ,它是时刻t ,t 0的函数。但它一般不能写成指数形式。 (1)幂级数法——直接求解 设Ax x =&的解是t 的向量幂级数 Λ ΛΛΛ+++++=k k t b t b t b b t x 2210)( 式中ΛΛ,,, ,,k b b b b 210都是n 维向量,是待定系数。则当0=t 时, 000b x x t === 为了求其余各系数,将)(t x 求导,并代入)()(t Ax t x =&,得: Λ ΛΛΛ&+++++=-1232132)(k k t kb t b t b b t x )(2210ΛΛΛΛ+++++=k k t b t b t b b A

上式对于所有的t 都成立,故而有: ????? ??????======00 3 230 21201!1!31312121b A k b b A Ab b b A Ab b Ab b K K M 且有:00x b = 故以上系数完全确定,所以有: Λ ΛΛΛ+++++=k k t b t b t b b t x 2210)( ΛΛ++++ +=k k t b A k t b A t Ab b 020200! 1 !21 )0()! 1!21(22x t A k t A At I k k ΛΛ+++++= 定义(矩阵指数或矩阵函数): ∑∞==+++++=022! 1!1!21K k k k k At t A k t A k t A At I e ΛΛ 则 )0()(x e t x At ?=。 (2)拉氏变换解法 将Ax x =&两端取拉氏变换,有 )()0()(s AX X s sX =- )0()()(X s X A sI =- )0()()(1X A sI s X ?-=- 拉氏反变换,有 )0(])[()(1 1x A sI L t x ?-=--

离散系统差分方程计算

1.设离散控制系统差分方程为x采样周期T。试求:(1) 系统的脉冲传递函数。(2)系统的频率特性表达式。 解:差分方程两边取Z变换,得 脉冲传递函数 频率特性 2.假设离散系统差分方程为。其中; ,,,。试求:(1)分析系统的稳定性。(2),,。 解:(1)对差分方程两边取Z变换,得 特征方程: 解得:; 由于,即系统稳定。 (2)n=0时, n=1时, n=2时, 3.某离散控制系统的差分方程为,其中: ,,,,,,。试求:(1),。(2)分析稳定性。 解:(1)对差分方程两边Z变换,得 特征方程: 解得:; 由于,所以系统稳定。

(2)n=0时, n=1时。 4.离散控制系统的差分方程为:,其中 ,,时,时。试求:(1),,。(2)脉冲传递函数。 解:(1)差分方程两边取Z变换,得 特征方程: 解得:; 由于,所以系统稳定。 (2)n=0时, n=1时, n=2时, 5.已知:离散控制系统的差分方程为。试求:脉冲传 递函数。系统频率特性 解:对差分方程Z变换,得 频率特性 6.某离散系统的差分方程为=,其中 ,。试求(1)脉冲传递函数,并分析稳定。(2) ,,。 解:对差分方程两边Z变换,得 ()

特征方程: 解得:; 由于,所以系统稳定。 (2)n=0时, n=1时, n=2时,y 7.已知离散系统的差分方程为,试求:(1)脉冲传递 函数。(2)分析系统稳定性 解:(1)对差分方程两边Z变换,得 (2)特征方程:=0 解得:; 由于,所以系统临界稳定。 8.离散系统差分方程为,其中 ,;。试求:,,。()分析稳定性。 解:(1)n=0时, n=1时, n=2时, (2)对差分方程两边Z变换,得 特征方程: 解得:; 由于,所以系统稳定。 9.某离散系统差分方程为,其中:, 时,;时,。试求:,,。(2)分析

离散系统的差分方程、冲激响应和卷积分析

实验2 离散系统的差分方程、冲激响应和卷积分析 一、实验目的 加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。 二、实验原理 离散系统可表示为 其输入、输出关系可用以下差分方程描述: ∑∑==-=-M k m N k k m n x b k n y a 00][][ 输入信号分解为冲激信号, ∑∞ -∞=-= m m n m x n x ][][][δ。 记系统单位冲激响应 ][][n h n →δ, 则系统响应为如下的卷积计算式: ∑∞ -∞=-= *=m m n h m x n h n x n y ][][][][][ 当N k a k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=filter(b,a,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(b,a,N)求系统的冲激响应。 对于N 阶差分方程∑∑==-=-M k m N k k m n x b k n y a 00][][, 1) 当给定函数的系数和输入序列时,差分方程的递推过程在MA TLAB 中用函数y=filter(b,a,x)来实现,其中,b 为右端x 的系数,a 为左端y 的系数,a 0=1。求得的输出序列y 和输入序列x 的长度相等。若x 的长度太短,需要补零。用conv 函数计算能在输入序列后自动补零,而filter 函数不能。 2) MATLAB 中有一个求离散系统脉冲响应的专门函数y=impz(b,a,N),其中,b 为右端x 的系数,a 为左端y 的系数,a 0=1。N 为要求的点数。键入impz(b,a),程序将自动给出脉冲响应的曲线。 3) 当输入序列和脉冲响应序列都是以数值方式给出时,可以用MATLAB 中的卷积函数y=conv(x,h)来计算。

实验 离散系统的差分方程单位脉冲响应和卷积分析

实验2 离散系统的差分方程、单位脉冲响应和卷积分析 一、 实验目的 1、 熟悉并掌握离散系统的差分方程表示法; 2、 加深对单位脉冲响应和卷积分析方法的理解。 二、 实验原理 (一), 1. 单位采样序列 ???=01 )(n δ 0 0≠=n n 在MATLAB 中可以利用zeros()函数实现。 ; 1)1();,1(==x N zeros x 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即: ???=-01 )(k n δ 0≠=n k n 2.单位阶跃序列 1()=0 u n ??? 00<≥n n 在MATLAB 中可以利用ones()函数实现。 );,1(N ones x = 3.正弦序列 )/2sin()(?π+=Fs fn A n x 在MATLAB 中 ) /***2sin(*1:0fai Fs n f pi A x N n +=-=

4.复指数序列 n j e n x ?=)( 在MATLAB 中 ) **exp(1:0n w j x N n =-= 5.实指数序列 n a n x =)( 在MATLAB 中 n a x N n .^1:0=-= (二) 在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下: 其输入、输出关系可用以下差分方程描述: 00()()N M i i i i a y n i b x n i ==-=-∑∑ 输入信号分解为单位采样序列的移位加权和,即: ()()()m x n x m n m δ∞ =-∞= -∑ 记系统单位脉冲响应 ()()n h n δ→ 则系统响应为如下的卷积计算式:

基本差分进化算法

基本差分进化算法 基本模拟退火算法概述 DE 算法是一种基于群体进化的算法,其本质是一种基于实数编码的具有保优思想的贪婪遗传算法。由于DE 算法操作简单,寻优能力强,自提出以来引起了国内外学者的高度关注,目前已在电力系统优化调度、配网重构等领域得到了应用。1、算法原理 DE 算法首先在N 维可行解空间随机生成初始种群,其中P 000 1[,,]N =X x x L ,为DE 种群规模。DE 算法的核心思想在于采取变异和交叉操 000T 1[,,]i i iN x x =x L p N 作生成试验种群,然后对试验种群进行适应度评估,再通过贪婪思想的选择机制,将原种群和试验种群进行一对一比较,择优进入下一代。 基本DE 算法主要包括变异、交叉和选择三个操作。首先,在种群中随机选取三个个体,进行变异操作: 1123() t t t t i r r r F +=+-v x x x 其中表示变异后得到的种群,表示种群代数,为缩放因子,一般取(0,2],1t i +v t F 它的大小可以决定种群分布情况,使种群在全局范围内进行搜索;、、 1t r x 2t r x 为从种群中随机抽取的三个不同的个体。 3t r x 然后,将变异种群和原种群进行交叉操作: 1 ,R 1 ,,R () or () () and () t i j t i j t i j v rand j C j randn i u x rand j C j randn i ++?≤=?=?>≠??其中表示交叉后得到的种群,为[0,1]之间的随机数,表示个体的第 t 1,i j u +()rand j j 个分量,为交叉概率,为之间的随机量,用于保证新个体至 j R C ()randn i [1,,]N L 少有一维分量由变异个体贡献。 最后,DE 算法通过贪婪选择模式,从原种群和试验种群中选择适应度更高的个体进入下一代: 11t 11 ()() ()() t t t i i i i t t t i i i f f f f ++++?<=?≥?u u x x x u x 、分别为和的适应度。当试验个体的适应度优于时, 1()t i f +u ()t i f x 1t i +u t i x 1t i +u t i x

求解系统的状态方程

求解系统的状态方程 一、实验设备 PC计算机,MATLAB软件,控制理论实验台 二、实验目的 (1)掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵 (2)学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应; (3)通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制输出响应和状态响应曲线; (4)掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。 三、实验原理及相关基础 (1)参考教材P99~101“3.8利用MATLAB求解系统的状态方程” (2)MATLAB现代控制理论仿真实验基础 (3)控制理论实验台使用指导 四、实验内容 (1)求下列系统矩阵A对应的状态转移矩阵 (a)

(b) 代码: syms lambda A=[lambda 0 0;0 lambda 0;0 0 lambda];syms t;f=expm(A*t) (c) 代码: syms t;syms lambda;A=[lambda 0 0 0;0 lambda 1 0;0 0 lambda 1;0 0 0 lambda];f=expm(A*t) (2) 已知系统

a) 用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。 (1) 代码: A=[0 1; -2 -3]; B=[3;0]; C=[1 1]; D=[0]; u=1; syms t; f=expm(A*t);%状态转移矩阵 x0=0; s1=f*B*u; s2=int(s1,t,0,t)%状态方程解析解 状态曲线: (2)A=[0 1;-2 -3]; syms t; f=expm(A*t); X0=[1;0]; t=[0:0.5:10]; for i=1:length(t); g(i)=double(subs(f(1),t(i))); end plot(t,g)

利用 MATLAB 求解系统的状态方程

实验报告 实验名称利用 MATLAB 求解系统的状态方程 系统的能控性、能观测性分析 系专业班 姓名学号授课老师 预定时间2014-5-28实验时间实验台号14 一、目的要求 掌握状态转移矩阵的概念。学会用 MATLAB求解状态转移矩阵。 掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握线性系统状态方程解的结构。学会用 MATLAB 求解线性定常系统的状态响应和输出响应,并绘制相应曲线。 掌握能控性和能观测性的概念。学会用 MATLAB 判断能控性和能观测性。 掌握系统的结构分解。学会用 MATLAB 进行结构分解。 掌握最小实现的概念。学会用 MATLAB 求最小实现。 二、原理简述 线性定常连续系统的状态转移矩阵为。 函数 step( ) 可直接求取线性连续系统的单位阶跃响应。 函数 impulse( ) 可直接求取线性系统的单位脉冲响应。 函数 lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。 函数 initial( ) 可求解系统的零输入响应。 n 阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性

的秩为 n。 线性定常连续或离散系统输出能控的充分必要条件是:矩阵 的秩为m。 n 阶线性定常连续或离散系统状态完全能观测的充分必要条件是:能观测性矩阵 的秩为 n。 三、仪器设备 PC 计算机,MATLAB 软件 四、内容步骤 题2.1 A=[0 1;-2 -3];B=[3;0];C=[1 1];D=0; G=ss(A,B,C,D); t=0.5; p=expm(A*t) u1=0;x10=[1;-1]; [y1o,t,x1o]=initial(G,x10,t) t2=0:0.5:10;x20=[0;0];u2=ones(size(t2)); [y2,t2,x2]=lsim(G,u2,t2); plot(t2,x2,':',t2,y2,'-')

控制系统状态方程求解

第三章控制系统状态方程求解 3-1 线性连续定常齐次方程求解 所谓齐次方程解,也就是系统的自由解,是系统在没有控制输入的情况下,由系统的初始状态引起的自由运动,其状态方程为: ………………………………………………………(3 -1) 上式中,X是n×1维的状态向量,A是n×n的常数矩阵。 我们知道,标量定常微分方程的解为: ………………(3 -2) 与(3-2)式类似,我们假设(3-1)的解X(t)为时间t的幂级数形式,即: ………………………………(3 -3) 其中为与X(t)同维的矢量。 将(3-3)两边对t求导,并代入(3-1)式,得:

上式对任意时间t都应该成立,所以变量t的各阶幂的系数都应该相等,即: 即: ……………………………………………(3-4) 将系统初始条件代入(3-3),可得。代入(3-4)式可得: (3) 5) 代入(3-3)式可得(3-1)式的解为:

(3) 6) 我们记: (3) 7) 其中为一矩阵指数函数,它是一个n×n的方阵。所以(3-6)变为: (3) 8) 当(3-1)式给定的是时刻的状态值时,不难证明: (3) 9) 从(3-9)可看出,形式上是一个矩阵指数函数,且也是一个各元素随时间t变化的n×n矩阵。但本质上,它的作用是将时刻的系统状态矢量转移到t时刻的状态矢量,也就是说它起到了系统状态转移的作用,所以我们称之为状态转移矩阵(The State Transition Matrix),并记: (3) 10) 所以:

【例3-1】已知,求解:根据(3-7)式, 3-2 的性质及其求法 性质1: 【证】根据的定义式(3-7), 【证毕】 性质2:① ②

现设线性时变系统的离散状态方程和观测方程

现设线性时变系统的离散状态方程和观测方程为: X(k) = F(k,k-1)·X(k-1)+T(k,k-1)·U(k-1) Y(k) = H(k)·X(k)+N(k) 其中 X(k)和Y(k)分别是k时刻的状态矢量和观测矢量 F(k,k-1)为状态转移矩阵 U(k)为k时刻动态噪声 T(k,k-1)为系统控制矩阵 H(k)为k时刻观测矩阵 N(k)为k时刻观测噪声 则卡尔曼滤波的算法流程为: 预估计X(k)^= F(k,k-1)·X(k-1) 计算预估计协方差矩阵 C(k)^=F(k,k-1)×C(k)×F(k,k-1)'+T(k,k-1)×Q(k)×T(k,k-1)' Q(k) = U(k)×U(k)' 计算卡尔曼增益矩阵 K(k) = C(k)^×H(k)'×[H(k)×C(k)^×H(k)'+R(k)]^(-1) R(k) = N(k)×N(k)' 更新估计 X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^] 计算更新后估计协防差矩阵 C(k)~ = [I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]'+K(k)×R(k)×K(k)' X(k+1) = X(k)~ C(k+1) = C(k)~ 重复以上步骤 **********************************************

Matlab实现代码 ******************************************************************************* ************************************************** %%%% Constant Velocity Model Kalman Filter Simulation %%%% %========================================================================== clear all; close all; clc; %% Initial condition ts = 1; % Sampling time t = [0:ts:100]; T = length(t); %% Initial state x = [0 40 0 20]'; x_hat = [0 0 0 0]'; %% Process noise covariance q = 5 Q = q*eye(2); %% Measurement noise covariance r = 5 R = r*eye(2); %% Process and measurement noise w = sqrt(Q)*randn(2,T); % Process noise v = sqrt(R)*randn(2,T); % Measurement noise %% Estimate error covariance initialization p = 5; P(:,:,1) = p*eye(4); %========================================================================== %% Continuous-time state space model %{ x_dot(t) = Ax(t)+Bu(t) z(t) = Cx(t)+Dn(t) %} A = [0 1 0 0; 0 0 0 0;

用MATLAB仿真离散系统差分方程

HEFEI UNIVERSITY 信号与系统项目设计报告 系别电子信息与电子工程系 题目项目第十题 专业电子信息工程 班级 11电子信息工程(2)班 小组成员钟文俊(1105012012)谢伟明(1105012041)授课老师纪平 完成时间 2014.01.02

用MATLAB仿真离散系统差分方程 一、设计题目 -n f - + - n n n y y n = y f (- ( )2 ) ( )1 ( 5.0 .0 ) 25 ( )1 + 系统输入序列为) f nε =。 n (n )5.0( ) ( 二、设计要求 1、试用MATLAB绘出输入序列的时域波形; 2、用MATLAB求出该系统0~20区间的样值; 3、用MATLAB画出系统的零状态响应波形。 三、功能分析 差分方程反映的是关于离散变量的取值与变化规律。通过建立一个或几个离散变量取值所满足的平衡关系,从而建立差分方程。差分方程就是针对要解决的目标,引路系统或过程中的离散变量,根据实际背景的规律、性质、平衡关系,建立离散变量所满足的平衡关系等式,从而建立差分方程。通过求出和分析方程的解,或者分析得到方程解的特别性质(平衡性、稳定性、渐近性、振动性周期性等),从而把握这个离散变量的变化过程的规律,进步再结合其他分析,得到原问题的解。 四、设计原理分析 1、差分方程定义 含有未知函数yt=f(t)以及yt的差分Dyt, D2yt,…的函数方程,称为常差分方程(简称差分方程);出现在差分方程中的差分的最高阶数,称为差分方程的阶。n阶差分方程的一般形式为F(t,yt,Dyt,…, Dnyt)=0,其中F是t,yt, Dyt,…, Dnyt的已知函数,且Dnyt一定要在方程中出现。 含有两个或两个以上函数值yt,yt+1,…的函数方程,称为(常)差分方程,出现在差分方程中未知函数下标的最大差,称为差分方程的阶。n阶差分方程的一般形式为F(t,yt,yt+1,…,yt+n)=0,其中F为t,yt,yt+1,…,yt+n的已知函数,且yt和yt+n一定要在差分方程中出现。 2、差分方程的意义与应用 差分方程模型有着广泛的应用。实际上,连续变量可以用离散变量来近似逼

实验2离散系统的差分方程、冲激

实验报告 实验课程:数字信号处理 实验内容:实验2离散系统的差分方程、冲激 响应和卷积分析 2013年6 月3 日

一、实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。 二、实验原理: 离散系统 其输入、输出关系可用以下差分方程描述: ∑=∑=-= -M k k N k k k n x p k n y d 00][][ 输入信号分解为冲激信号,∑-= ∞-∞=m m n m x n x ][][][δ。 记系统单位冲激响应 ][][n h n →δ, 则系统响应为如下的卷积计算式: ∑∞-∞=-= *=m m n h m x n h n x n y ][][][][][ 当N k d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为 FIR 系统;反之,称系统为IIR 系统。 在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。 三、实验内容及步骤: 1、实验内容: 分别在x (n )=δ(n)和x (n )=cos(2π*0.47*n)的输入下,编制程序分别用上述两种 方法求解下列两个系统的响应,并得出系统零极点分布图,绘出其图形。 ]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y ⑴ ]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y ⑵ 2、实验代码及结果 ]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y ⑴

实验二差分方程的求解和离散系统频率响应的描述

实验二 差分方程的求解和离散系统频率响应的描述 一、 实验目的 1、掌握用MATLAB 求解差分方程的方法。 2、掌握绘制系统的零极点分布图和系统的频率响应特性曲线的方法。 3、 观察给定系统的冲激响应、阶跃相应以及系统的幅频特性和相频特性 二、 实验内容 1、已知描述离散新天地差分方程为:y(n+2)-0,25y(n+1)+0.5y(n)=x(n)+x(n-1),且知该系统输入序列为)()2/1()(n u n x n =,试用MATLAB 实现下列分析过程:画出输入序列的时序波形;求出系统零状态响应在0~20区间的样值;画出系统的零状态响应波形图。 2、一离散时间系统的系统函数:5731053)(2323-+-+-=z z z z z z z H ,试用MA TLAB 求出系 统的零极点;绘出系统的零极点分布图;绘出响应的单位阶跃响应波形。 三、 实验报告要求 1、求出各部分的理论计算值, 并与实验结果相比较。 2、绘出实验结果波形(或曲线),并进行分析。 3、写出实验心得。 附录:本实验中所要用到的MATLAB 命令 1、系统函数H(z) 在MATLAB 中可调用函数zplane (),画出零极点分布图。调用格式为: zplane (b,a ) 其中a 为H (z )分母的系数矩阵,b 为H(z)分子的系数矩阵。 例2-1:一个因果系统:y (n )-0.8y(n -1)=x(n) 由差分方程可求系统函数 8.0,8.011)(1>-= -z z z H 零极点分布图程序: b=[1,0]; a=[1,-0.8]; zplane(b,a)

2、求解差分方程 在MA TLAB中,已知差分方程的系数、输入、初始条件,调用filter()函数解差分方程。 调用filter()函数的格式为:y=filtier(b,a,x,xic),参数x为输入向量(序列),b,a分别为(1-30)式中的差分方程系数,xic是等效初始状态输入数组(序列)。 确定等效初始状态输入数组xic(n),可使用Signal Processing toolbox中的filtic()函数,调用格式为:y=filtic(b,a,y,x) 。其中y=[y(-1),y(-2),…,y(-N)],x=[x(-1),x(-2),…,x(-M)] 。 例2-2:已知差分方程2y(n)-3y(n-1)+y(n-2)=2x(n) ,式中x(n)=(1/4)n u(n) ,y(-1)=4 ,y(-2)=10 ,求全响应y(n) 。 MATLAB程序如下: n=[0:7]; x=(1/4).^n; a=[2,-3,1]; b=[2]; y=[4,10]; xic=filtic(b,a,y) y1=filter(b,a,x,xic) y2=(1/3)*(1/4).^n+(1/2).^n+(2/3)*ones(1,8) %这是直接将差分方程Z变换后代入X(z)求出Y(z),反变换后求出x(n)。 执行结果为: xic = 1 -2 y1 = 2.0000 1.2500 0.9375 0.7969 0.7305 0.6982 0.6824 0.6745 y2 = 2.0000 1.2500 0.9375 0.7969 0.7305 0.6982 0.6824 0.6745 3、求系统的冲激响应和阶跃响应 ⑴在MATLAB中,有专门求冲激响应并绘制其时域波形的函数impz( ) 格式: y=impz(b,a,n) %这是求数值解

利用matlab求解系统的状态方程

实验报告 实验名称利用MATLAB 求解系统的状态方程 系统的能控性、能观测性分析 系专业班 姓名学号授课老师 预定时间2014-5-28实验时间实验台号14 一、目的要求 掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵。 掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握线性系统状态方程解的结构。学会用MATLAB 求解线性定常系统的状态响应和输出响应,并绘制相应曲线。 掌握能控性和能观测性的概念。学会用MATLAB 判断能控性和能观测性。 掌握系统的结构分解。学会用MATLAB 进行结构分解。 掌握最小实现的概念。学会用MATLAB 求最小实现。 二、原理简述 线性定常连续系统的状态转移矩阵为。 函数step( ) 可直接求取线性连续系统的单位阶跃响应。 函数impulse( ) 可直接求取线性系统的单位脉冲响应。 函数lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。 函数initial( ) 可求解系统的零输入响应。 n 阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性

矩阵的秩为n。 线性定常连续或离散系统输出能控的充分必要条件是:矩阵 的秩为m。 n 阶线性定常连续或离散系统状态完全能观测的充分必要条件是:能观测性矩阵 的秩为n。 三、仪器设备 PC 计算机,MATLAB 软件 四、内容步骤 题 A=[0 1;-2 -3];B=[3;0];C=[1 1];D=0; G=ss(A,B,C,D); t=; p=expm(A*t) u1=0;x10=[1;-1]; [y1o,t,x1o]=initial(G,x10,t) t2=0::10;x20=[0;0];u2=ones(size(t2)); [y2,t2,x2]=lsim(G,u2,t2); plot(t2,x2,':',t2,y2,'-')

实验2离散系统的差分方程、冲激响应和卷积分析

实验2离散系统的差分方程、冲激响应和卷积分析 一、实验目的 1 加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。 二、实验原理 离散系统 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号 记系统单位冲激响应 则系统响应为如下的卷积计算式 当时,h[n]是有限长度的(n:[0,M]),称系统为FIR系统;反之,称系统为IIR系统。 在MATLAB中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。 二、实验内容 编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。 y[n]+0.6y[n-1]+0.08y[n-2]=x[n]-x[n-1] y[n]=0.2{x[n-1]+x[n-2]+x[n-3]+x[n-4]+x[n-5]} 实验 程序1: A=[1,0.6,0.08];B=[1,-1]; x2n=ones(1,65); x1n=[1,zeros(1,30)]; y1n=filter(B,A,x1n); subplot(2,1,1);y='y1(n)'; stem(y1n,'g','.'); title('单位冲击响应') y2n=filter(B,A,x2n); subplot(2,1,2); y='y2(n)'; stem(y2n,'g','.'); title('阶跃响应')

程序2 A=[1];B=[0,0.2,0.2,0.2,0.2]; x2n=ones(1,25); x1n=[1,zeros(1,30)]; y1n=filter(B,A,x1n); subplot(2,1,1);y='y1(n)'; stem(y1n,'g','.'); title('单位冲击响应') y2n=filter(B,A,x2n); subplot(2,1,2); y='y2(n)'; stem(y2n,'g','.'); title('阶跃响应')

相关文档
最新文档