⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpjianmo.m

📁 反传人工神经网络:MATLAB源程序用于训练测试
💻 M
字号:
close all
clear
echo on
clc
%BP建模
%原始数据归一化 
m_data=[114047 31645.1 18022.1 1659.8 16210 469 38728;
        112884 31685 19497.2 1739.8 15260 580 40731;
        108845 30351.5 20912.5 1775.8 22710 793 37911;
        110933 30467.9 22950 1930.6 23660 832 39151;
        111268 30870 24836 1999.3 20390 909 40298;
        110123 31455.7 26575  2141.5 23940 1033 39408;
        112205 32440.5 28067 2357.1 24450 1126 40755;
        113466 33336.4 28707.7 2590.3 17820 1258 44624;
        112314 34186.3 29388.6 2805.1 27810 1497 43529;
        110560 34037 30308.4 2930.2 25900 1644 44265.8;
        110509 33258.2 31816.6 3151.9 23130 1950 45648.8;
        109544 32690 33744 3317.9 31380 2308 44510;
        110060 32334.5 36118.1 3593.7 22267 2774 46662;
        112548 32260.4 38546.9 3827.8 21233 3605 50453.5;
        112912 32434.9 42015.6 3980.7 30309 3897 49417;
        113787 32626.4 45208 4083.7 25181 3971 51229.5;
        113161 32911.8 48996.1 4124.3 26731 4046 50839;
        108463 32997.5 52573.6 4146.4 34374 4677 46218];
%定义网络输入p和期望输出t
pause
clc
p1=m_data(:,1:6);
t1=m_data(:,7);
p=p1';t=t1';
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t)
%设置网络隐单元的神经元数(5~30验证后15个最好) 
 n=15;
%建立相应的BP网络
pause
clc
net=newff(minmax(pn),[n,1],{'tansig','purelin'},'traingdm');
%训练网络
 net.trainParam.show=50;  
 net.trainParam.lr=0.05;
 net.trainParam.mc=0.9;
 net.trainParam.epochs=2000;
 net.trainParam.goal=1e-3;
 pause
 clc
 %调用TRAINGDM算法训练BP网络
 net=train(net,pn,tn);
 %对BP网络进行仿真
 A=sim(net,pn)
 E=A-tn;
 M=sse(E)
 N=mse(E)
 pause
 clc
 %绘出训练后的仿真结果
 close all;
 plot(pn,A,pn,tn,'+')
 legend('实际值','估计值');
 title('训练后的BP网络模型输出拟合曲线');
 xlabel('输入样本点');
 ylabel('粮食总产量');
 axis([-2,2,-2,2]);
 echo off
p2=[106080 32451 55172.1 4253.8 31793 4884];
p2=p2';
p2n=tramnmx(p2,minp,maxp);
a2n=sim(net,p2n);
a2=postmnmx(a2n,mint,maxt)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -