matlab模型预测控制
介绍MPC,简介预测控制动态矩阵能直接处理带有纯滞后的对象,对大惯性有很强的适应能力,又有良好的跟踪性能和较强的鲁棒性,并且对模型精度要求低,所以在工业过程中有很强的适用性。本文针对DMC算法进行研究,并在此基础上用matlab进行了系统仿真验证了该算法的优点。口经验交流口仪器仪表用户P已知的情况下,控制时域长度M越小,越难保证输出在各采能的 Window标准图形用户界面,使优化问题操作简单方便。样点紧密跟踪期望输出值,系统的响应速度比较慢,但容易得在 Matlab制作图形用户界而(GUI)的设计环境下,用M文件到稳定的控制和较好的鲁棒性;控制时域长度M越大,控制来进行CU编程,使GU设计变得简单、快捷。的机动性越强,能够改善系统的动态响应,增大了系统的灵活首先在Meab的命令窗下输人 guide命令或者利用文件性和快速性,提高控制的灵敏度,但是系统的稳定性和鲁棒性菜单中的new选项下的GUI,即可以进入CUI设计窗口。从变差。因此,控制时域长度的选择应兼顾快速性和稳定性。窗口的左侧工具栏中选取需要的控件,绘制在右侧锥形窗口;4)控制加权系数双击各控件图标,即打开该控件属性对话框,对其进行属性设控制加权系数主要用于限制控制增量的剧烈变化,使控置。保存图形界面时,系统将直动生成一个同名的m文件,打制量的变化趋于平缓,以防止超出限制范围或发生剧烈振荡,开此程序文件,对图形界面各控廾的回调函数 Callback()增减少对系统的过大冲击。增加控制值加权系数的值,控制作加所需的程序代码,以完成各种操作。设计完成之后的得到用减弱,闭环系统稳定,输出响应速度减慢,有益于增加系统的界面如图4所示。的稳定性;但过人的控制加权系数会使控制量的变化极为缓动态矩阵控制算法仿真慢,系统得不到及时的调节,反而会使动态特性变坏7。拴制牌出图积样周期预測时域斑度「F动态矩阵控制算法的优点I)直接在控制算法中考虑预测变量和控制变量的约束条控制时域长度M=1件,用满足约束条件的范围求出最优预测值输入戏象横型控淛权系数2)把控制变量与预测变量的权系数矩阵作为设计参数,系统设定值在设计过程中通过仿真调节鲁棒性好的参数值。3)预测变量和控制变量较多的场合,或者控制变量的的设定在给出的目标值范围内,只是具有自由度,预测变量的定图4动态矩阵控制算法界面设计常状态值被认为是有无数组组合。5结束语4)从受控对象动态特性设定到最后作为仿真来确定控制性由上述仿真结果可以知道,动态矩阵控制效果比传统能为止。DMC算法以直接作为控制量,在控制中包含了数字积PID的控制效果好。动态矩阵控制采用工程上容易得到的阶分环节,因此,即使在模型失配的情况下,也能得到无静差控制。跃响应作为数学模型、运算量小、算法简单、在线实时方便,具4仿真研究有良好的调节品质和很强的鲁棒性,能抑制被控对象的大迟针对被控对象C(s)=12滞特性,能够满足生产现场的需要,获得满意的控制效果,因17.2s+进行仿真,取采样周期而有良好的应用前景。同时基于 Matlab汝计实现了动态矩阵T=2s,模型时域长度为N=90,预测时域长度P=6,控制时控制算法图形用户界面,为动态矩阵控制算法提供了一个简域长度M=1,控制权系数A=1,系统设定值y,=1。对模型在单实用的平台。由于 Matlab具有良好、开放的可扩展性,在应用阶跃扰动下进行仿真,得到如图2所示的控制曲线,可以知道中,用户可以根据实际问题编写相应的函数文件,在CU平台输控制效果较好。入要修改的参数即可完成优化求解操作简单、非常实用。口与传统的PID控制器的控制效果进行比较,其中传统参考文献PD的参数采用工程整定法中的动态特性参数法(又称Z-NL1]李国勇.智能控制及其 MATLAB实现[M]北京:电子工业整定法),得到的参数为Kp=1.5,T1=1,T=0.5,仿真结果出版社,2005:285-289如图3所示。2]席裕庚预测控制[M].北京:国防工业出版社,1993[3]周福恩,毕效辉.动态矩阵控制算法在过程控制中的应用研究[J].南通航运职业技术学院学报,2005,4(1)4345[4]何同祥,常宁青.动态矩阵控制算法在工业电加热炉温度控制中的应用[J.仪器仪表用户,2011,(01):28-3004[5}李玉红,刘红军,王东风,韩璞.一种新型的动态矩阵控制算法及仿真研究[J]计算机学报,2005,22(2):103-1091015公23[6]周忠海,张涛,陈哓高.基于动态矩阵控制算法的电加热炉图2DMC仿真纬果图图3传统Pm仿真结果图温度控制系统[J].山东科学,2005,18(5):7073我们知道传统的PID控制超调量过大,稳定时间长,控制7]触晓红,周佳精通GUI图形界面编程[M].北京:北京大学模型和参数需要比较精确,否则控制性能不会很好,而采用动出版社,2003作者简介:杨丽华(1987-),女,在读硕士研究生,主要从事预测控制方态矩阵控制算法则大大地抑制了超调量,消除了振荡,也缩短面的研究工作;赵文杰(1969-),男,华北电力大学控制科学与工程学了平衡时间,控制效果好。院副教授,主要从事热工过程的信息融合与先进控制方面的研究根据上述动态矩阵控制算法的基本流程及其操作编制成工作相应的m函数文件。这个设计包含动态矩阵控制算法优化功收稿日期2012041866EcVo.192012No,4欢迎光临本刊网站http://www.yqybyh.com
- 2020-12-02下载
- 积分:1
RBM 算法理解
RBM 算法理解 这份笔记参考了很多网上的资源,也加入很多自己的理解和详细推导, 非常适合初学者使用, 这篇笔记属于复合型产物,感谢那些网上无私奉献自己心得的人们。RBM能量模型这里说一下RBM的能量模型,这里关系到RBM的理解能量模型是个什么样的东西呢?直观上的理解就是,把一个表面粗糙又不太圆的小球,敚到一个表面也匕较粗糙的碗里,就随便往里面一扔,看看小球停在硫的哪个地方。一般来说停在碗底的可能性比较大,停在靠近碗底的其他地方也可能,甚至运气好还会停在碗口附近(这个碗是比较浅的一个碗):能量模型把小球停在哪个地方定义为一种状态,每种状态都对应着个能量,这个能量由能量函数来定义,小球处在某和状态的概率(如停在碗底的概率跟停在碗口的慨率当然不一样)可以通过这种状态下小球具有的能量来定义(换个说法,如小球停在了碗∏附近,这是·种状态,这个状态对应着一个能量,而发生“小球停在碗口附近”这种状态的概率,可以用来表小,表小成,其中是能量函数),其实还有一个简单的理解,球在碗底的能量一般小于在碗边缘的,比如重力势能这,显然碗底的状态稳定些,并且概率大些,就是我认为的能量模型。1.概率分布函数。各个节点的取值状态是概率的、随机的,这里用了3种概率分布来描述整个RBM网络,有联合概率密度,条件概率密度和边缘概率密度2.能量函数。随机神经网络的基础是统计力学,差不多思想是热力学米的,能量函数是描述整个系统状态的一种测度。系统越有序或者概率分布越集中(比如小球在碗底的情况),系统的能量越小,反之,系统越无序并且概率分布发散(比如平均分布),则系统的能量越大,能量函数的最小值,对应着整个系统最稳定的状态RBM能量模型的作用是什么呢?为什么要弄清楚能量模型的作用呢?第一、RBM网终是一种无监督学习的方法,无监督学习的目的自然就是最大限度的拟合输入数据和输出数据。第二、对于组输入数据来说,如果不知道它的分布,那是非常难对这个数据进行学习的。例如:如果我们实现写出了高斯函数,就可以写出似然睬数,那么就可以进行求解,就知道大致的参数,所以实现如果不知道分布是非常痛苫的·件事情,但是,没关系啊,统计力学的一项硏究成果表明,任何概率分布都可以转变成基于能量的模型,即使这个概率分布是未知的。我们仍然可以将这个分布改写成能量函数第三、能量函数能够为无监督学习方法提供个特殊的东两)日标函数b)标解换句话说,使用能量模型使得学丬一个数据的变得容易叮行了。能否把最优解的求解嵌入能量模型中至关重要,决定着我们具体问题求解的好坏。能量模型要捕获变量(这里我理解的是各个分量之间的关系)之间的相关性,变量之间的相关程度决定了能量的高低。把变量的相关关系用图表是一个图,以概率为测度,所以是概率图)模型的能量模型。由上面所说,RBM是一种概率图模型,既然引入了概率,那么就可以通过采样技术来求解,在CD( contrastive diⅳ vergence)算法中采栟部分扮演着模拟求解梯度的角色。能量模型需要定义一个能量函数,RBM能量函数如下:()=∑∑∑∑这个式子的含义非常明显,每个节点有一个能量, hidden和wsbe之间的连接也有个能量,如何求解呢?如果ⅵ isible有组取值(1,0,1),对应的 hidden取值是(1,0,1,01,0,分别带入上面的公式,最后得到的结果就是能量,这里要注意到()里面的地位是相等的,不存在先后顺序,这是一个结构整体的能量值为什么要搞能量函数?前面指出未知分布不好求解但是可以通过能量函数米表示,那么能量函数的概率模型很大程度上可以得到未知分布的概率模型,这样大致就知道了未知分布的分布既然知道了—个RBM网络 hidden和 visible整个框架的能量函数,那么可以定义这个能量函数(能量)出现的概率,很显然这个能量的出现与 hidden和sbe的每个节点的取值都有关系,那么这个能量出现的概率就是和的联合概率密度里可以将能量函数理解成小球在碗里面具体的一个位置所具有的一个能量,那么联合概率密度就是能量也就是这个状态出现的概率)这个概率不是随便定义的,是有统计热力学解释的定义了联合概率密度,那么我就可以得到一个分布,现在再回来前面的知识,可以得到1最初是未知分布的数据,求解参数,完全无从下手2.将未知分布的数据与能量函数联合在起3定义这个能量函数出现的概率,其实也就是对应着未知分布数据一个函数出现的概率4我们可以得到能量函数的概率分布,这个分布就叫 Gibbs分布,这里不是一个标准的Gibs分布,而是一个特殊的 Gibbs分布,这个分布有一组参数,其实就是能量函数中的那儿个前面知道∫下面可以得到边缘概率密度和()∑∑也可以得到条件概率密度和∑∑从概率到极大似然上面的内容已经得到了Gb分布的各种概率密度函数,现在回到最初的目的,即求解让RBM网络表示的Gibs分布最大可能的拟合输入数据,或者换一种说法,求解的目标可以认为是让RBM网终表示的 Gibbs分布与输入样本的分布尽可能的接近现在的小问题是“最大可能的拟合输入数据"这句话怎么定义:假设表小样本空间,即里面含有很多个不同的,是输入样本的分布,()表示训练样本的概率,再假设是RBM网络表示的 Gibbs分布的的边缘分布,即可以理解成每种不同情况的都对应着一个概率。输入样本的集合定义为,那么样木真实的分布和RBM网络表示的边缘分布的KL距离就是2者之间的差异性(KL的详细讲解见附录),样本的真实分布(什么是样本的分布?见附录)与RBM网络表示的边缘分布的KL距离如下所示()20)-0=2()0)2()(如果输入样本表小的分布与RBM表小的Gbbs分布完全符合,这个KL距离就是0,否则是一个大于0的数山附录对熵的定义(在KL讲解里面)可知,上面)的第一项是输入样本的熵,这个是·个固定的数,输入样本固定了,熵就固定了,第二项明显无法直接求。由KL的性质可知,KL是一定大于0的,那么当第二项最大的时候,整个KL最小,我们本来的日的也是求KL最小。注意到第二项-∑()()中的()当样木固定的时候,是固定的而函数是递增的,即当∑()最大即可。在实际应用中,我们采用的是∑(),其中是样本的个数。这里的-∑()就是极大似然估计(这里大家可以∈代替了∈Ω,这是为什么呢?拿一个2维向量来说,(1,0),(1,1),(0,0)这3个的概率和是1,(0,1)出现的概率是0,那么样本空间是(1,0),(1,1),(0,0),但是我们采样的时候只采样到∫(1,0),(1,1),那么这次的输入样本的集合就是(1,0)(1,1))。结论就是求解输入样本的极大似然,就能让RBM网络表示的 Gibbs分布和样本本身表示的分布最接近。求解极大似然这里对似然的定义参考我的另一篇笔记EM算法这个样本从所有样本被取到的概率为0)=∏(b)b∈6()=(0)=∑(0)c⊙在RBM模型中,上面的似然函数写成(上面的式子中是样本,也可以理解为一个isbe节点):(O)-(0)-l()O∈()=∏(b)=∑()0∈对这个函数进行求导02(066∈⊙66我们由能量模型应该也知道了()的概率∑,那么下面开始求导∑06∑c8上面这个式子一定要注意一个问题,即第一项的和第二项的00是不一样的。第一项的是固定的里面的取多少它就取多少而第二项里面的是所有可能的,其实这个细节也可以从∑和∑中发现出来()注意到()和,上面的式子可以写成∑0606∑()∑x((2m0)2x(2m0606第一项和第二项分别是和的期望,这2个是不同的,第一060个求在下的期望,第二项求的是这个函数在概率()下的期望。将O和()由最前面的东西代换,可得到以下3个式了∑∑∑∑∑∑()∑∑()∑()∑∑(这里用到了一个技巧∑这里∑是指hden中第个向量为0,其他分量的值任取的一组向量。?岁∑()∑()∑()∑()∑∑∑∑)-∑()-∑∑()()-∑()∑()∑∑=∑()-∑∑()()=∑()-∑()∑())-∑()(可以发现和的第二项都含有∑,这意味着要对进行遍历,这明显不可能,但是算梯度需要怎么小呢?这时就可以通过 markov采样来算,只要抽取一堆样本,这些样本符合RBM网络表示的Gibs分布,就可以把上面3个偏导数算出来。具体的处理过程是对于每个训练样本,都用某种抽样方法抽取一个对应的,这个是符合RBM网络所表示的Gbs分布的。那么对于整个训练集{米说,就得到一组对应的符合RBM网络表示的Gibs分布的样本集{然后拿这个样本去估算第二项∑,那么梯度就可以用以下的式了来近似了:()(=)-∑()(=)-∑()上面的式子中表小第个训练样木,是所对应的符合RBM网络表小的Gs分布的样本,在式子中用表示。梯度求出来了,就可以求解了,最后不断迭代就可以得到
- 2020-12-11下载
- 积分:1