BP建模.m
上传用户:yetwld
上传日期:2010-01-26
资源大小:82k
文件大小:8k
- %BP建模
- %标准化后的建模数据集
- m_data=[0.26667 0.47647 0.35 0.30741 0.39565 0.9;
- 0.2 0.75882 0.35 0.27778 0.53479 0.46001;
- 0.2 0.52353 0.4 0.33704 0.32609 0.48001;
- 0.66667 0.52353 0.29999 0.21852 0.27391 0.50001;
- 0.26667 0.75882 0.6 0.33704 0.32609 0.44001;
- 0.16667 0.57059 0.29999 0.27778 0.3087 0.46001;
- 0.2 0.71176 0.4 0.36667 0.44783 0.48001;
- 0.23333 0.71176 0.5 0.30741 0.15218 0.34001;
- 0.16667 0.42941 0.5 0.24815 0.5 0.48001;
- 0.13333 0.57059 0.5 0.3963 0.41305 0.48001;
- 0.16667 0.75882 0.5 0.21852 0.3087 0.52001;
- 0.16667 0.71176 0.4 0.27778 0.48261 0.44001;
- 0.23333 0.75882 0.5 0.33704 0.3087 0.48001;
- 0.13333 0.75882 0.5 0.33704 0.23913 0.42001;
- 0.16667 0.75882 0.2 0.18889 0.13478 0.1;
- 0.13333 0.71176 0.35 0.27778 0.32609 0.14;
- 0.2 0.24119 0.35 0.24815 0.3087 0.88001;
- 0.70001 0.47647 0.25 0.33704 0.20435 0.38001;
- 0.4 0.52353 0.2 0.15927 0.23913 0.34001;
- 0.26667 0.47647 0.35 0.12963 0.16957 0.36;
- 0.16667 0.6647 0.35 0.27778 0.27391 0.40001;
- 0.3 0.61764 0.55 0.24815 0.25652 0.62001;
- 0.13333 0.75882 0.6 0.30741 0.20435 0.62001;
- 0.3 0.71176 0.55 0.18889 0.20435 0.70001;
- 0.13333 0.57059 0.5 0.30741 0.29131 0.72001;
- 0.16667 0.80588 0.5 0.21852 0.23913 0.60001;
- 0.1 0.61764 0.6 0.21852 0.16957 0.62001;
- 0.23333 0.61764 0.5 0.3963 0.3087 0.70001;
- 0.2 0.80588 0.45 0.18889 0.1 0.48001;
- 0.23333 0.6647 0.45 0.1 0.11739 0.54001;
- 0.2 0.52353 0.29999 0.30741 0.16957 0.50001;
- 0.16667 0.71176 0.6 0.24815 0.23913 0.70001;
- 0.1 0.85293 0.6 0.12963 0.16957 0.52001;
- 0.3 0.61764 0.5 0.21852 0.13478 0.64001;
- 0.13333 0.61764 0.4 0.27778 0.23913 0.62001;
- 0.16667 0.80588 0.6 0.3963 0.23913 0.36;
- 0.23333 0.75882 0.75 0.30741 0.1 0.66001;
- 0.13333 0.9 0.6 0.27778 0.20435 0.44001;
- 0.16667 0.61764 0.29999 0.27778 0.32609 0.60001;
- 0.16667 0.71176 0.6 0.27778 0.27391 0.52001;
- 0.1 0.85293 0.45 0.1 0.23913 0.54001;
- 0.1 0.71176 0.69999 0.27778 0.43044 0.76001;
- 0.1 0.38236 0.6 0.30741 0.32609 0.64001;
- 0.1 0.75882 0.6 0.33704 0.25652 0.46001;
- 0.73333 0.71176 0.25 0.45556 0.5 0.50001;
- 0.56667 0.61764 0.35 0.33704 0.34348 0.74;
- 0.13333 0.6647 0.75 0.75186 0.69131 0.56001;
- 0.83334 0.61764 0.25 0.60371 0.44783 0.38001;
- 0.9 0.33529 0.2 0.3963 0.3087 0.54001;
- 0.4 0.61764 0.5 0.3963 0.44783 0.48001;
- 0.1 0.57059 0.4 0.57408 0.7261 0.88001;
- 0.16667 0.61764 0.35 0.27778 0.34348 0.38001;
- 0.1 0.47647 0.35 0.75186 0.83045 0.62001;
- 0.2 0.47647 0.35 0.81111 0.83045 0.70001;
- 0.1 0.33529 0.6 0.9 0.9 0.50001;
- 0.13333 0.24119 0.4 0.81111 0.86522 0.58356;
- 0.4 0.80588 0.6 0.48519 0.55218 0.42001;
- 0.5 0.42941 0.45 0.57408 0.37826 0.56001;
- 0.16667 0.28824 0.25 0.75186 0.79567 0.54001;
- 0.23333 0.33529 0.4 0.84075 0.65653 0.68001;
- 0.13333 0.57059 0.6 0.57408 0.67392 0.46001;
- 0.5 0.57059 0.5 0.51482 0.55218 0.44001;
- 0.1 0.6647 0.69999 0.57408 0.65653 0.88001;
- 0.3 0.75882 0.75 0.21852 0.37826 0.70001;
- 0.23333 0.57059 0.6 0.3963 0.41305 0.48001;
- 0.59999 0.80588 0.45 0.24815 0.25652 0.42001;
- 0.70001 0.28824 0.65 0.63334 0.58696 0.60001;
- 0.4 0.61764 0.4 0.33704 0.34348 0.34001;
- 0.46666 0.1 0.5 0.63334 0.65653 0.54001;
- 0.23333 0.33529 0.25 0.84075 0.7261 0.50001;
- 0.2 0.47647 0.1 0.27778 0.3087 0.42001;
- 0.36667 0.52353 0.5 0.51482 0.83045 0.62001;
- 0.4 0.47647 0.45 0.33704 0.32609 0.50001;
- 0.33333 0.33529 0.4 0.63334 0.7261 0.46001;
- 0.23333 0.24119 0.55 0.63334 0.7261 0.53778;
- 0.13333 0.24119 0.45 0.33704 0.3087 0.76001;
- 0.33333 0.47647 0.45 0.42593 0.41305 0.70001;
- 0.5 0.1 0.35 0.3963 0.48261 0.70001;
- 0.46666 0.52353 0.4 0.63334 0.86522 0.52001;
- 0.26667 0.33529 0.25 0.69259 0.83045 0.68001;
- 0.26667 0.71176 0.6 0.42593 0.55218 0.34001;
- 0.4 0.42941 0.5 0.45556 0.43044 0.52001;
- 0.23333 0.47647 0.6 0.54445 0.62175 0.52001;
- 0.36667 0.47647 0.4 0.69259 0.69131 0.52001;
- 0.26667 0.61764 0.29999 0.63334 0.81306 0.44001;
- 0.1 0.33529 0.65 0.3963 0.23913 0.44001;
- 0.13333 0.57059 0.6 0.51482 0.55218 0.38001;
- 0.2 0.33529 0.55 0.45556 0.55218 0.52001;
- 0.33333 0.24119 0.29999 0.57408 0.83045 0.64001;
- 0.16667 0.42941 0.5 0.45556 0.76088 0.58001;
- 0.13333 0.71176 0.65 0.45556 0.37826 0.22001;
- 0.1 0.71176 0.6 0.63334 0.69131 0.28001;
- 0.2 0.52353 0.9 0.36667 0.48261 0.36446;
- 0.16667 0.71176 0.8 0.36667 0.32609 0.42001;
- 0.13333 0.42941 0.55 0.51482 0.48261 0.58001;
- 0.4 0.47647 0.5 0.30741 0.37826 0.48001;
- 0.8 0.52353 0.4 0.30741 0.34348 0.48001;
- 0.1 0.6647 0.69999 0.51482 0.5 0.38001;
- 0.16667 0.6647 0.55 0.45556 0.32609 0.34001;
- 0.23333 0.61764 0.65 0.51482 0.41305 0.2;
- 0.3 0.71176 0.5 0.33704 0.5174 0.70001;
- 0.13333 0.57059 0.5 0.33704 0.44783 0.60001;
- 0.3 0.80588 0.69999 0.54445 0.5174 0.50001;
- 0.13333 0.75882 0.65 0.3963 0.37826 0.28001;
- 0.16667 0.71176 0.65 0.57408 0.5 0.70001;
- 0.16667 0.75882 0.6 0.45556 0.62175 0.44001;
- 0.26667 0.61764 0.65 0.3963 0.34348 0.74;
- 0.36667 0.57059 0.5 0.30741 0.39565 0.62001;
- 0.16667 0.57059 0.65 0.3963 0.29131 0.62001;
- 0.2 0.52353 0.5 0.48519 0.39565 0.44001;
- 0.4 0.52353 0.45 0.33704 0.34348 0.56001;
- 0.13333 0.52353 0.5 0.33704 0.29131 0.52001;
- 0.26667 0.42941 0.5 0.75186 0.65653 0.76001;
- 0.13333 0.24119 0.5 0.54445 0.58696 0.64001;
- 0.13333 0.14707 0.1 0.51482 0.5174 0.58001;
- 0.2 0.24119 0.29999 0.60371 0.62175 0.74;
- 0.26667 0.42941 0.25 0.57408 0.65653 0.60001;
- 0.56667 0.19412 0.4 0.78148 0.69131 0.70001;
- 0.4 0.57059 0.25 0.60371 0.58696 0.50001;
- 0.33333 0.47647 0.25 0.48519 0.65653 0.72001;
- 0.4 0.38236 0.29999 0.42593 0.23913 0.58001;
- 0.13333 0.61764 0.65 0.57408 0.55218 0.70001;
- 0.23333 0.42941 0.69999 0.63334 0.48261 0.62001;
- 0.2 0.28824 0.55 0.81111 0.76088 0.58];
- %定义网络输入p和期望输出t
- p1=m_data(:,1:5);
- t1=m_data(:,6);
- p=p1';t=t1';
- %设置网络隐单元的神经元数(5~30验证后20个最好)
- n=15;
- %建立相应的BP网络
- net=newff(minmax(p),[n,1],{'tansig','purelin'},'trainlm');
- %对没有训练的网络仿真
- y1=sim(net,p);
- %绘制仿真得到的曲线
- figure
- plot(t);
- hold on
- plot(y1,'r:')
- legend('化验值','估计值');
- title('没有训练的BP网络模型输出拟合曲线');
- xlabel('输入样本点');
- ylabel('淀粉利用率');
- axis([1,130,-2,2]);
- hold off
- %训练网络
- net.trainParam.epochs=1000;
- net.trainParam.lr=0.01;
- net.trainParam.goal=0.001;
- net=train(net,p,t);
- %对训练后的网络进行仿真
- %y=sim(net,p);
- y=sim(net,p);
- %绘出训练后的仿真结果
- figure;
- plot(t);
- hold on;
- plot(y,'r:');
- legend('化验值','估计值');
- title('训练后的BP网络模型输出拟合曲线');
- xlabel('输入样本点');
- ylabel('淀粉利用率');
- hold off;
- axis([1,130,0,1]);
- %误差定义
- E=t-y;
- ysse=sse(E);
- ymse=mse(E);
- %标准化后的测试数据集t_data
- t_data=[0.1 0.68668 0.67143 0.79999 0.79091 0.40004;
- 0.36667 0.58001 0.1 0.7 0.71818 0.20001;
- 0.26 0.47334 0.1 0.29997 0.2091 0.80009;
- 0.36667 0.9 0.9 0.29997 0.13637 0.37504;
- 0.26 0.84668 0.67143 0.1 0.42727 0.37504;
- 0.36667 0.58001 0.44286 0.49999 0.1 0.55006;
- 0.15333 0.47334 0.44286 0.7 0.42727 0.60006;
- 0.1 0.84668 0.67143 0.29997 0.5 0.1;
- 0.15333 0.42 0.21429 0.49999 0.5 0.55006;
- 0.20667 0.79335 0.21429 0.59999 0.5 0.32503;
- 0.1 0.42 0.21429 0.9 0.5 0.45005;
- 0.1 0.84668 0.32857 0.59999 0.5 0.27502;
- 0.20667 0.47334 0.32857 0.29997 0.13637 0.50005;
- 0.1 0.68668 0.67143 0.49999 0.24546 0.20001;
- 0.42 0.58001 0.21429 0.9 0.9 0.42504;
- 0.31334 0.58001 0.44286 0.49999 0.31818 0.25002;
- 0.15333 0.42 0.1 0.19999 0.35454 0.55006;
- 0.20667 0.47334 0.32857 0.29997 0.31818 0.27502;
- 0.15333 0.68668 0.44286 0.29997 0.31818 0.40004;
- 0.20667 0.20667 0.21429 0.39999 0.28183 0.52506;
- 0.26 0.79335 0.21429 0.49999 0.57273 0.9;
- 0.42 0.36667 0.1 0.59999 0.35454 0.30003;
- 0.47334 0.36667 0.1 0.59999 0.57273 0.35003;
- 0.1 0.47334 0.67143 0.7 0.42727 0.49894;
- 0.42 0.58001 0.67143 0.49999 0.24546 0.47505;
- 0.31334 0.1 0.32857 0.9 0.79091 0.8501;
- 0.1 0.52667 0.21429 0.9 0.5 0.50005;
- 0.52667 0.55867 0.21429 0.1 0.28183 0.42504;
- 0.9 0.58001 0.55715 0.1 0.17273 0.32503;
- 0.15333 0.68668 0.62572 0.29997 0.2091 0.57506];
- %测试结果
- tp1=t_data(:,1:5);
- tt1=t_data(:,6);
- tp=tp1';tt=tt1';
- ty=sim(net,tp);
- %定义误差
- tE=tt-ty;
- tsse=sse(tE);
- tmse=mse(tE);
- %预测(测试)曲线
- figure;
- plot(tt,'-+');
- hold on;
- plot(ty,'r:*');
- legend('化验值','预测值');
- title('BP网络模型输出预测曲线');
- xlabel('输入样本点');
- ylabel('淀粉利用率');
- axis([1,30,-4,4]);