用matlab编BP神经网络预测程序

对网络进行仿真检验;6)应用网络解决问题.

4 系统的预测仿真

4.1

使用神经网络 GUI 工具建立神经网络的输入样本和目标样本

1)在 MATLAB 命令窗口输入 nntool,打开图形用户界面工具主窗

口,如图 1 所示. 2)单击 New Data 按钮,打开数据生成对话框. 建立输入样本 P,

数据的输入和设置如图 2 所 示,单击 Create 按钮关闭对话框.

3)依照上一步,输入目标样本 T

,数据类型选 Targets.

回到 GUI 工具的主窗口,单击 Export

按钮弹出导出对话框,选中变量 P 和 T,然后单击 Export 按钮,把变量 P 和 T 导出到工作区. 这为 仿真文件从工作空间调用导入数据做好了准备.

4.2

建立仿真模型文件进行预测

运行 MATLAB 软件中的 Simulink 仿真环境,在神经网络模块库中调用神经网络预测控制模块 NN Predictive Controller,用模块封装技术建立河流水质数学方程模块,连接信号源模块和示波器模 块后就建立了河流水质预测仿真文件 predwq.mdl,如图 3,其中 From Workspace 模块中是目标样本 T 的数据,可以直接从工作区导入.

双击神经网络预测控制模块 NN Predictive Controller,弹出如图 4 的窗口,此窗口用于设计模 型预测控制器,输入控制器变量空间 N 2 和 Nu 、权值参数 ρ 和控制最优化参数 α 的值. 然后点击 Plant Identification 按钮,打开系统辨识窗口,从工作区导入输入样本 P,设置好其它参数后训练网络, 单击 OK 按钮,将训练好的神经网络模型导入到神经网络预测控制模块中, 在 NN Predictive Controller 窗口中单击 OK 按钮,将控制器参数导入到 NN Predictive Controller 模块中.

图 3

predwq.mdl 仿真文件

图 4

神经网络预测控制模块窗口

系统模块 System

Model

是用模块封装技术封装的河流水质微分方程式(

4)的仿真模块,如图

5 所示.

在 predwq Simulink 主窗口,仿真时间输入 100,再单击 Start simulation 命令按钮开始仿真. 仿 真结束后,双击示波器模块就可以查看仿真结果,如图 6 所示. 对仿真结果和目标样本的值进行比 较,根据它们的差值绘出预测误差变化曲线,如图 7 所示.

图 5 河流水质微分方程仿真模块

图6 目标和预测结果图

5 结果与讨论

比较图 6、图 7 知,本文建立的网络系统对水质参 数耗氧量的预测图像和目标样本基本一致. 把仿真预测 结果数据和实际目标样本数据进行比较,正、负最大误 差分别为 0.11 和

0.06,最小误差为 0,虽然还有偏差, 但误差是在满意的范围之内. 因此,把河流水质的数学 模型用 MATLAB 神经网络进行仿真预测,具有较高的 精度,为河流水质预测提供了方便的方法.

图 7 预测误差的曲线变化

利用NNToolbox 4.0.2架构神经网络主要采用以下两种方 法:

(1)使用网络数据管理器(Network Data Manager)。具体操 作为:在Launch Pad窗体中点击Neural Network Toolbox目录下的 。

nntool文件,即在计算机屏幕中央出现Network Data Manager窗 体;点击窗体中NewNetwork按钮,根据提示设定网络类型、网络 结构、网络算法和网络激活函数即可生成用户定义的神经网络; 点击View按钮可显示该神经网络的结构图;点击initialize、simu- late、train和adapt按钮并设定参数可对神经网络进行初始化、模 拟、训练和仿真;最后点击Export按钮可将网络模拟、训练和仿 真的结果以文件的形式导出。该方法操作简易,无需编写程序 代码,即可完成神经网络的构建、初始化、训练和仿真等主要工 作。但是该方法不能和MATLAB其他程序动态链接,网络仿真 结果只能以数据文件的形式导出,不能可视化显示。 (2)编写MATLAB应用程序,即运用MATLAB语言引用神 经网络工具箱函数编写程序代码并保存为M文件,然后运行该 文件。该种方法可以根据研究人员的需要,调用MATLAB丰富 的内部函数,并能和各类数据库及其他应用程序(包括C、FOR- TRAN程序)动态链接,使神经网络功能更为强大。本研究即采 用该种方法,其中引用的重要算法、函数及参数将在第2、3节详 述。

中国未来几年人口总量的预测

本文对所使用的序列数据进行

(,模型维数优化时 得到最佳的维数是 均属于短序列预测,只适合短 期的人口总量的预测,所以对 GM11)5~8 维不等,

2008-2012

年共

结果如表

5 个时间序列点 的中国人口总量进行预测,2 所示。

2

灰色人工神经网络(

模型对

GANN)2008-2012

中国人口总量预测的结果

万人

年份

2008 2009 2010 2011 2012

总人口

132 663 132 963 133 706 134 373 135 025

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4