基于MATLAB_的神经网络的仿真.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB_的神经网络的仿真.doc

智能控制 基于MATLAB 的神经网络的仿真 学 院: 机电工程学院 姓 名: 白思明 学 号: 2011301310111 年 级: 自研-11 学 科: 检测技术与自动化装置 日 期: 2012-4-3 引言 人工神经网络以其具有信息的分布存储、并行处理以及自学习能力等优点, 已经在模式识别、 信号处理、智能控制及系统建模等领域得到越来越广泛的应用。MATLAB中的神经网络工具箱是以人工神经网络理论为基础, 利用MATLAB 语言构造出许多典型神经网络的传递函数、网络权值修正规则和网络训练方法,网络的设计者可根据自己的需要调用工具箱中有关神经网络的设计与训练的程序, 免去了繁琐的编程过程。 二.神经网络工具箱函数 最新版的MATLAB 神经网络工具箱为Version4.0.3, 它几乎涵盖了所有的神经网络的基本常用类型,对各种网络模型又提供了各种学习算法,我们可以根据自己的需要调用工具箱中的有关设计与训练函数,很方便地进行神经网络的设计和仿真。目前神经网络工具箱提供的神经网络模型主要用于: 数逼近和模型拟合; 信息处理和预测; 神经网络控制; 故障诊断。 神经网络工具箱提供了丰富的工具函数,其中有针对某一种网络的,也有通用的,下面列表中给出了一些比较重要的工具箱函数。 三.仿真实例 BP 网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。BP 网络模型结构见图1。网络同层节点没有任何连接,隐层节点可以由一个或多个。网络的学习过程由正向和反向传播两部分组成。在正向传播中,输入信号从输入层节点经隐层节点逐层传向输出层节点。每一层神经元的状态只影响到下一层神经元网络,如输出层不能得到期望的输出,那么转入误差反向传播过程,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,在经正向传播过程,这两个过程反复运用,使得误差信号最小或达到人们所期望的要求时,学习过程结束。 利用神经网络工具箱进行设计和仿真的具体步骤: 确定信息表达方式:将实际问题抽象成神经网络求解所能接受的数据形式; 确定网络模型:选择网络的类型、结构等; 选择网络参数:如神经元数,隐含层数等; 确定训练模式:选择训练算法,确定训练步数,指定训练目标误差等; 网络测试:选择合适的训练样本进行网络测试。 下面给出一个利用BP 神经网络进行函数逼近的例子。 第一步问题的提出 设计一个简单的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 ,输出层一个神经元,隐层和输出层的传递函数分别为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要逼近的非线性函数 图3未训练时网络的输出结果 第三步网络训练 将训练时间设为10,精度为0.001,用train ()进行训练,误差曲线见图4 所示。 net.trainParam.epochs=10; net.trainParam.goal=0.001; net1 = train (net,p,t) 图4训练过程图 第四步网络测试 用sim()观察训练后的网络输出如图5 所示。 y2 = sim (net1,p) figure; plot (p,t,r* ,p,y1,b- ,p,y2,ko) title (训练后网络的输出结果) xlabel (时间) ; ylabel (仿真输出) legend (要逼近的非线性函数,未训练网络的输出结果,训练后网络的输出结果)

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档