用matlab编BP神经网络预测程序 下载本文

实用标准文案

人口 年份 人口 年份 人口 年份 人口 129437 2009 134770 2035 147659 2080 152769 130405 2010 135552 2040 148869 2090 153026 131340 2015 139049 2045 149832 2100 153185 132244 2020 141921 2050 150596 2105 153240 133116 2025 144257 2060 151678 2110 153283 133958 2030 146144 2070 152352 2120 153344

年份 全国总人口 年份 全国总人口 模型四预测2011至2020年人口(单位:万人) 2011 2012 2013 2014 134668 135478 136325 137185 2016 2017 2018 2019 138862 139652 140402 141106 2015 138036 2020 141760

精彩文档

实用标准文案

2.1 利用Matlab Script节点实现

在此以对一个非线性函数的逼近作为例子来说明 实现流程,其中输入矢量p=[-1∶0.05∶1];目标矢 量t=sin(2*pi*p)+0.1randn(size(p))。利用Mat- lab Script节点实现BP算法的过程如下: (1)新建一个LabVIEW vi,在框图程序中添加 Matlab Script节点。

(2)在节点内添加Matlab的动量BP算法实现代 码,并分别在节点左右边框分别添加对应的输入/输出 参数,如图1所示。

(3)在vi的前面板添加相应的控件,设置输入参 数,连接输出控件。执行程序,结果如图2、图3所示。

精彩文档

实用标准文案

下面的代码将重建我们以前的网络,然后用批处理最速下降法训练网络。(注意用批处 理方式训练的话所有的输入要设置为矩阵方式) net=newff([-1

2;

0

5],[3,1],{'tansig','purelin'},'traingd');

精彩文档

实用标准文案

net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.epochs = 300; net.trainParam.goal = 1e-5; p = [-1 -1 2 2;0 5 0 5]; t = [-1 -1 1 1]; net=train(net,p,t);

TRAINGD, Epoch 0/300, MSE 1.59423/1e-05, Gradient 2.76799/ 1e-10

TRAINGD, Epoch 50/300, MSE 0.00236382/1e-05, Gradient 0.0495292/1e-10

TRAINGD, Epoch 100/300, MSE 0.000435947/1e-05, Gradient 0.0161202/1e-10

TRAINGD, Epoch 150/300, MSE 8.68462e-05/1e-05, Gradient 0.00769588/1e-10

TRAINGD, Epoch 200/300, MSE 1.45042e-05/1e-05, Gradient 0.00325667/1e-10

TRAINGD, Epoch 211/300, MSE 9.64816e-06/1e-05, Gradient 0.00266775/1e-10

TRAINGD, Performance goal met. a = sim(net,p) a =

-1.0010 -0.9989 1.0018 0.9985

用nnd12sd1 来演示批处理最速下降法的性能。 带动量的批处理梯度下降法(TRAINGDM)

精彩文档

实用标准文案

net=newff([-1 2; 0 5],[3,1],{'tansig','purelin'},'traingdm'); net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 300; net.trainParam.goal = 1e-5; p = [-1 -1 2 2;0 5 0 5]; t = [-1 -1 1 1]; net=train(net,p,t);

TRAINGDM, Epoch 0/300, MSE 3.6913/1e-05, Gradient 4.54729/ 1e-10

TRAINGDM, Epoch 50/300, MSE 0.00532188/1e-05, Gradient 0.213222/1e-10

TRAINGDM, Epoch 100/300, MSE 6.34868e-05/1e-05, Gradient 0.0409749/1e-10

TRAINGDM, Epoch 114/300, MSE 9.06235e-06/1e-05, Gradient 0.00908756/1e-10

TRAINGDM, Performance goal met. a = sim(net,p) a =

-1.0026 -1.0044 0.9969 0.9992

3.1 MATLAB 神经网络工具箱的 GUI(图形用户界面)工具

. 神经网络工具箱的 GUI 工具主要包括:1)神经网络 GUI 工具主窗口;2)神经网络的建立 窗口;3)网络训练对话框;4)自适应参数设置对话框;5)权值显示窗口. 通过神经网络工具箱的 GUI 工具按钮

精彩文档