人工神经网络计算机仿真中matlab的应用
2014-10-21王嘉佳
王嘉佳
【摘 要】人工神经网络是目前发展较迅速的交叉学科,神经网络可以用来计算复杂的输入和输出之间的关系。文中把Matlab的神经网络工具箱与Simulink合理结合,完成神经网络控制系统的计算仿真。
【关键词】计算机神经网络 Matlab 应用
近年来,大多控制系统的高品质控制都少不了对系统的仿真进行研究。根据仿真研究可以优化设定的控制参量,因此,控制系统的模拟与仿真一直是研究的重点。通常来说,控制系统进行计算机仿真必须首先创建系统模型,之后根据模型设定仿真城西,充分运用计算机对其进行动态模拟并展示结果。本文以计算机神经网络为研究视角,介绍了人工神经网络及BP网络模型,提出设计基于Simulink控制系统及动态仿真。
一、简述人工神经网络
人工神经网络又被称为神经网络,是由人脑结构的启发之下创建的计算模型,人工神经网络不单单是高度非线性动力学系统,也是自适应组织系统。神经网络的主要特征表现在他的学习、组织及容错能力方面。神经网络可以采用被训练的状态实现特定任务,从而为系统提供独具代表性的描述问题样本,就是其可以成组的输入、输出样本,神经网络可以推测出输入与输出数据之间的关系。等到训练完成之后,神经网络又能永凯训练和识别任意样本之间相似的新数据。同时,神经网络也能对不完整或存在噪音的数据进行识别,这一特征被广泛使用到预测、诊断、控制方面。在最抽象的层次上,神经网络可以看做一个黑箱,数据由一边输入,通过神经网络处理之后给予相应的输出。对比输出及目标数值,采用产生的误差调整网络内部之间的链接权重。人工神经网络功能如图1所示。
二、创建BP网络模型
BP网络是现今使用最广泛的神经网络模型。该模型的学习规则是采用反向传播(BP)对网络的权值和阀值进行调整,却阿伯网络误差的平方和达到最小状态。这是根据最下速下降方向上进行调整网络权值和阀值完成的。BP网络拥有超强的非线性映射和泛化性能,任何一连续函数或映射都可以使用三层网络来实现。如此一来,把其看做控制器就可以找到最佳的答案。使用控制器之前馈网络通常采用m-n-1结构,这一网络输入层具有m个神经元,隐层存在n个神经元,输出层则只有单一的神经元。本网络隐层转换为函数取tansig函数,可以把该神经元取值范围设定为()映射到(-1,+1),这个是可微函数,比较适合采用BP训练神经元。若BP网络的最后层是sigmoid型神经元,此时整个网络的输出就限定在比较小的范围之内。若purelin型线性神经元,那么整个网络的输出可以采用任意值,选取purelin型函数当做输出层的变换函数。
三、设计基于Simulink控制系统及动态仿真
创建Simulink动态仿真时在matlab环境下完成的动态系统建模、仿真的环境,可以采用功能模块建立控制系统展开仿真。这种方框图示的建模办法比较容易把复杂的数学模型输入至计算机内,从而简化编程过程。
(一)设置网络控制器
本文建立的控制系统其核心为网络控制器,基于matlab5.2应用环境基础上,采用两种方法构建网络控制器:①进入Simulink环境之后,采用Block&Toolboxes模块库,随之选取Neural Network子库的Transfer Function、Net Input Func—Tion、Weight Function三个功能模块来建立网络。简言之就是先创建单个神经元模型,随之根据阀值、权值、转移函数一次创建输出层、隐层,最后进行打包、封装就形成所需的网络,整个工作流程借助鼠标完成,便于操作。②基于M文件编辑器创建网络控制器的S-函数,随之调用Nonlinear模块库中的S—Function功能模块,如此一来可以获取新的功能模块,这种办法适合建立Simulink中不存在现成的模块。S-函数比较简单,容易编辑。
(二)构造控制系统
控制器构造和封装完工之后,从Simulink的Source、Sinks、Linear模块库中调用所需的功能模块,该控制系统采用示波器可以清楚观察其输出曲线,也能把数据存储至MATLAB工作空间内,使用绘制命令Plot把控制系统与原系统的响应曲线画出来。由仿真结果可知,BP网络控制系统的性能远比原系统要好。
四、结束语
本文从人工神经网络和BP网络模型进行分析,采用Matlab构造与仿真控制系统,达到优化控制系统仿真的效果的目的,仿真结果表示该办法正确、有效。因此,大范围推广使用这一软件,可以有效利用Matlab各种资源,进一步提升工程实践水平。
参考文献:
[1] 卓先德.网络安全评估的仿真与应用研究[J].计算机仿真,2011,28(6):177-180.
[2] 徐勇.神经计算机的人工神经网络实用化研究[J].计算机光盘软件与应用,2012,(14):141-142.
基金項目:广东医学院科研基金,项目编号M2011048