Simulink的神经网络.ppt
《Simulink的神经网络.ppt》由会员分享,可在线阅读,更多相关《Simulink的神经网络.ppt(51页珍藏版)》请在三一办公上搜索。
1、1,第3章 基于Simulink的神经网络控制系统 3.1 基于Simulink的神经网络模块3.2 基于Simulink的三种典型神经网络控制系统,2,3.1 基于Simulink的神经网络模块 神经网络工具箱中提供了一套可在Simulink中用来建立神经网络的模块,对于在MATLAB工作空间中建立的网络,也能够使用函数gensim()生成一个相应的Simulink 网络模块。,3,3.1.1 模块的设置 在 Simulink库浏览窗口的Neural Network Blockset节点上,通过单击鼠标右键后,便可打开如图3-1所示的Neural Network Blockset模块集窗口。
2、图3-1 Neural Network Blockset模块集 在Neural Network Blockset模块集中包含了四个模块库,用鼠标的左键双击各个模块库的图标,便可打开相应的模块库。,4,1.传输函数模块库(Transfer Functions)用鼠标的左键双击Transfer Functions模块库的图标,便可打开如图3-2所示的传输函数模块库窗口。传输函数模块库中的任意一个模块都能够接受一个网络输入向量,并且相应地产生一个输出向量,这个输出向量的组数和输入向量相同。图3-2 传输函数模块库窗口,5,2.网络输入模块库(Net Input Functions)用鼠标的左键双击N
3、et Input Functions模块库的图标,便可打开如图3-3所示的网络输入模块库窗口。网络输入模块库中的每一个模块都能够接受任意数目的加权输入向量、加权的层输出向量,以及偏值向量,并且返回一个网络输入向量。,图3-3 网络输入模块库窗口,6,3.权值模块库(Weight Functions)用鼠标的左键双击Weight Functions模块库的图标,便可打开如图3-4所示的权值模块库窗口。权值模块库中的每个模块都以一个神经元权值向量作为输入,并将其与一个输入向量(或者是某一层的输出向量)进行运算,得到神经元的加权输入值。图3-4 权值模块库窗口 上面的这些模块需要的权值向量必须定义为
4、列向量。这是因为Simulink中的信号可以为列向量,但是不能为矩阵或者行向量。,7,4.控制系统模块库(Control Systems)用鼠标的左键双击Control Systems模块库的图标,便可打开如图3-5所示的控制系统模块库窗口。图3-5 控制系统模块库窗口 神经网络的控制系统模块库中包含三个控制器和一个示波器。关于它们的使用方法将在下一节专门介绍。,8,3.1.2 模块的生成 在MATLAB工作空间中,利用函数gensim(),能够对一个神经网络生成其模块化描述,从而可在Simulink中对其进行仿真。gensim()函数的调用格式为:gensim(net,st)其中 第一个参数
5、指定了MATLAB工作空间中需要生成模块化描述的网络,第二个参数指定了采样时间,它通常情况下为一正数。如果网络没有与输入权值或者层中权值相关的延迟,则指定第二个参数为-1,那么函数gensim()将生成一个连续采样的网络。,9,例3-1 设计一个线性网络,并生成其模块化描述。定义网络的输入为:X=1 2 3 4 5,相应的目标为:T=1 3 5 7 9。解 实现以上任务的MATLAB命令为:Ex3_1结果显示:y=1 3 5 7 9可以看出,网络已经正确地解决了问题。gensim(net,-1),10,3.2 基于Simulink的神经网络控制系统 神经网络在系统辨识和动态系统控制中已经得到了
6、非常成功的使用。由于神经网络具有全局逼近能力,使得其在对非线性系统建模和对一般情况下的非线性控制器的实现等方而应用的比较普遍。本节将介绍三种在神经网络工具箱的控制系统模块(Control Systems)中利用Simulink实现的比较普遍的神经网络结构,它们常用于预测和控制,并已在MATLAB对应的神经网络工具箱中给出了实现。,11,这三种神经网络结构分别是:神经网络模型预测控制(NN Predictive Controller)反馈线性化控制(NARMA-L2 Controller)模型参考控制(Model Reference Controller)使用神经网络进行控制时,通常有两个步骤:
7、系统辨识和控制设计。,12,在系统辨识阶段,主要任务是对需要控制的系统建立神经网络模型;在控制设计阶段,主要使用神经网络模型来设计(训练)控制器。在本节将要介绍的三种控制网络结构中,系统辨识阶段是相同的,而控制设计阶段则各不相同。对于模型预测控制,系统模型用于预测系统未来的行为,并且找到最优的算法,用于选择控制输入,以优化未来的性能。对于NARMA-L2(反馈线性化)控制,控制器仅仅是将系统模型进行重整。对于模型参考控制,控制器是一个神经网络,它被训练以用于控制系统,使得系统跟踪一个参考模型,这个神经网络系统模型在控制器训练中起辅助作用。,13,3.2.1 神经网络模型预测控制1.模型预测控制
8、理论 神经网络预测控制器是使用非线性神经网络模型来预测未来模型性能。控制器计算控制输入,而控制输入在未来一段指定的时间内将最优化模型性能。模型预测第一步是要建立神经网络模型(系统辨识);第二步,使用控制器来预测未来神经网络性能。,14,1)系统辨识 模型预测的第一步就是训练神经网络未来表示网络的动态机制。模型输出与神经网络输出之间的预测误差,用来作为神经网络的训练信号,该过程用图3-11来表示。,图3-11 训练神经网络,15,神经网络模型利用当前输入和当前输出预测神经未来输出值。神经网络模型结构如图3-12所示,该网络可以以批量再线训练。,图3-12 神经网络模型结构,16,2)模型预测 模
9、型预测方法是基于水平后退的方法,神经网络模型预测在指定时间内预测模型响应。预测使用数字最优化程序来确定控制信号,通过最优化如下的性能准则函数:式中 N2为预测时域长度;Nu为控制时域长度;u(t)为控制信号;yr为期望响应,ym为网络模型响应,为控制量加权系数。,17,图3-13描述了模型预测控制的过程。控制器由神经网络模型和最优化方块组成,最优化方块确定u(通过最小化J),最优u值作为神经网络模型的输入,控制器方块可用Simulink实现。,图3-13 预测模型控制的过程,18,2.模型预测神经网络控制实例分析搅拌器控制系统 在 MATLAB神经网络工具箱中实现的神经网络预测控制器使用了一个
10、非线性系统模型,用于预测系统未来的性能。接下来这个控制器将计算控制输入,用于在某个未来的时间区间里优化系统的性能。进行模型预测控制首先要建立系统的模型,然后使用控制器来预测未来的性能。下面将结合 MATLAB神经网络工具箱中提供的一个演示实例,介绍Simulink中的实现过程。,19,1)问题的描述 要讨论的问题基于一个搅拌器(CSTR),如图3-14所示。对于这个系统,其动力学模型为:,图3-14 搅拌器,20,其中 h(t)为液面高度,Cb(t)为产品输出浓度,w1(t)为浓缩液Cb1的输入流速,w2(t)为稀释液Cb2的输入流速。输入浓度设定为:Cb1=24.9,Cb2=0.1。消耗常量
11、设置为:k1=1,k2=1。控制的目标是通过调节流速w2(t)来保持产品浓度。为了简化演示过程,不妨设w1(t)=0.1。在本例中不考虑液面高度h(t)。,21,2)建立模型 在 MATLAB神经网络工具箱中提供了这个演示实例。只需在MATLAB命令窗口中输入命令:predcstr。就会自动地调用Simulink,并且产生如图3-15所示的模型窗口。,图3-15 模型窗口,22,其中神经网络预测控制模块(NN Predctive Controller)和X(2Y)Graph模块由神经网络模块集(Neurai Network Blockset)中的控制系统模块库(Control Systems)
12、复制而来。图3-20中的Plant(Continuous Stirred Tank Reactor)模块包含了搅拌器系统的Simulink模型。双击这个模块,可以得到具体的Simulink实现,此处将不加以深入讨论。NN Predictive Controller模块的Control Signal端连接到搅拌器系统模型的输入端,同时搅拌器系统模型的输出端连接到NN Predictive Controller模块的Plant Output端,参考信号连接到NN Predictive Controller模块的Reference端。,23,双击NN Predctive Controller模块,将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Simulink 神经网络

链接地址:https://www.31ppt.com/p-5448263.html