基于MATLAB的神经网络的仿真_第1页
基于MATLAB的神经网络的仿真_第2页
基于MATLAB的神经网络的仿真_第3页
基于MATLAB的神经网络的仿真_第4页
基于MATLAB的神经网络的仿真_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能控制基于MATLAB的神经网络的仿真学 院:姓 名:学 号:年 级:学 科: 检测技术与自动化装置日 期:引言人工神经网络以其具有信息的分布存储、并行处理以及自学习能力等优点已经在模式识别、信号处理、智能控制及系统建模等领域得到越来越广泛的应用。 MATLAB 中的神经网络工具箱是以人工神经网络理论为基础 , 利用 MATLAB 语言构造出许多典型神经网络的传递函数、 网络权值修正规则和网络训练方法, 网络的设计者可根据自己的需要调用工具箱中有关神经网络的设计与训练的程序 , 免去了繁琐的编程过程。二神经网络工具箱函数最新版的MATLAB神经网络工具箱为Version4.0.3,它几乎涵盖

2、了所有的神经网络的基本常用类型, 对各种网络模型又提供了各种学习算法, 我们可以根据自己的需要调用工具箱中的有关设计与训练函数, 很方便地进行神经网络的设计和仿真。目前神经网络工具箱提供的神经网络模型主要用于:1. 数逼近和模型拟合;2. 信息处理和预测;3. 神经网络控制;4. 故障诊断。神经网络工具箱提供了丰富的工具函数,其中有针对某一种网络的,也有通用的,下面列表中给出了一些比较重要的工具箱函数。粒I抻拌网络I U箱通用陋跤函收集理南敷老糕值触用途神萼刈解仇以函数s i hi计划管定箱A的到输H:押冲同爆训炼屏故trainWJfliHfc训炼也眼.时阿场避行谓抹iminb有杈值和前值it

3、行训域idapt白透应由散樽稣网络学J初始化的热权值物%学习1 eampn revert钙H M和*也依业空斑1次M始化时的近inh对河第进行初始化initIH名层网络初始化ini i wfflNT机射对层初始牝iiiitwb弓拒定由由汇丫切蛤化档迷曲数hardll In硕阳射曲教hard I i ns对W硬网幅由融.仿真实例BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。BP网络模型结构见图1。网络同层节点没有任何连接,隐层节点可以由一个或多个。网络的学习过程由正向和反向传播两部分组成。 在正向传播中,输入信号从输入层节点经隐层节点逐层传向输出层节点。每一层神经元的状态只影响到下

4、一层神经 元网络,如输出层不能得到期望的输出,那么转入误差反向传播过程,将误差信 号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去 进行计算,在经正向传播过程,这两个过程反复运用,使得误差信号最小或达到 人们所期望的要求时,学习过程结束。利用神经网络工具箱进行设计和仿真的具体步骤:1. 确定信息表达方式:将实际问题抽象成神经网络求解所能接受的数据形式;2. 确定网络模型:选择网络的类型、结构等;3. 选择网络参数:如神经元数,隐含层数等;4. 确定训练模式:选择训练算法,确定训练步数,指定训练目标误差等;5. 网络测试:选择合适的训练样本进行网络测试。下面给出一个利用 B

5、P 神经网络进行函数逼近的例子。第一步问题的提出设计一个简单的 BP 网络,实现对非线性函数的逼近,通过改变BP 网络的隐层神经元的数目,采用不同的训练方法来观察训练时间和训练误差的变化情况。假设将要将要逼近的函数为正弦函数,其频率参数N=1 ,绘制此函数见图 2所示。N=1;p= - 1:0.05:1 ;t=sin (N*pi*p) ;%假设 N=1 ,绘制此函数曲线plot (p,t, r*)title (要逼近的非线性函数)xlabel (时间 ) ;第二步网络建立应用 newff () 建立两层的 BP 网络, 隐层神经元数目可以改变,此时S=8 , 输出层一个神经元,隐层和输出层的传

6、递函数分别为 tansig 和 purelin ,学习算法采用Levenberg - Marquadt ( trainlm)。用sim()观察初始化网络输出如图3所示。S=8;net=newff (minmax (p) , S,1 , tansig,purelin , trainlm);y1=sim (net,p);figure;plot (p,t, r* ,p,y1,b-)title (未训练网络的输出结果)xlabel (时间);ylabel (仿真输出-原函数*);legend (要逼近的非线性函数,未训练网络的输出结果)图2要逼近的非线性函数第二步)美训底网络的输出结果0*时间-0.6

7、 0.6 -CH要运送的非峻性函数 未训炼网解的输出结聚*东叼睨田海Ms图3未训练时网络的输出结果编辑版word第三步网络训练将训练时间设为10,精度为0.001,用train ()进行训练,误差曲线见图4所示net.trainParam.epochs=10; net.trainParam.goal=0.001; netl = train (net,p,t)K-fliuLAl e1* i ttmsrracninc:tjairdifFerEcirnn匚营: V Snusred Ere: ni-ri104a5 口 L*h 0UiL口力匕O.IO.XFerfrn*nee:3C-. CC0:4suin

8、g*航 ent;1 03 |o. ancoi ah-wIk.q mml.OCs-IELQEktlO,山如七1阻udraa IQ1!rkijutig SlvtMJl-I XT 4-n.X.L OKBes1 Training PBrfarrnance is NaN al 9pcch 611n.LTr.n .0051 T5 225335 i5年口由芍图4训练过程图第四步网络测试用sim()W察训练后的网络输出如图5所示。y2 = sim (net1,p)figure;plot (p,t,r* ,p,y1,b-,p,y2,ko)title (训练后网络的输出结果)xlabel (时间);ylabel

9、(仿真输出)legend (要逼近的非线性函数,未训练网络的输出结果,训练后网络的输出结果)年四中训抹后网翳的输出筵果+要百近的非林性函数未训出的输出结果0训联言明络的精昌结果图5训练后网路的输出结果从图5可以看出经过很短时间的训练后BP网络很好的逼近了非线性函数。讨论:1 .改变非线性函数的频率,即改变N的值时发现,网络的训练时间会长些, 逼近效果要差些。2 .改变隐层的神经元数目对网络的逼近效果也有影响,一般来说,隐层的 神经元数目越多,则BP网络逼近非线性函数能力越强,但也并非隐层的神 经元数目越多,网络性能就越好,而同时训练时间有所增长。编辑版word3 . 采用不同的训练函数,对本例

10、采用三种训练方法,即 Levenberg-Marquadt(trainlm)、剃度下降动量法(traingdx)、普通剃度下降法(traingd ),通过比较发现Levenberg - Marquadt ( trainlm)训练速度最快,误差也较小,剃度下降动量法(traingdx)次之,普通剃度下降法(traingd )最差。四 结论MATLAB 神经网络工具箱功能强大, 它提供了许多有关神经网络设计、 训练和仿真的函数,我们只要根据需要调用相关函数, 就能方便进行神经网络设计与仿真 , 从而免除了编写复杂而庞大的算法程序的困扰,可以很容易的调整各项参数,实现对神经网络的设计和仿真,为我们的工程应用提供很好的参考价值。参考文献:1飞思科技产品研发中心.神经网络神经网络理论与MATLAB7实现M.北京:电子工业出版社, 2006.2 董长虹 .MATLAB 神经网络与应用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论