[原创]BP网络用于设备故障预测
% 运用比例共轭梯度动量算法来训练 BP网络clear all;
pause(1);
P=[0.1452 0.1466 0.1314 0.2243 0.3523 0.4642 0.5015 0.6981 0.7821 0.8345 0.9649 1.156 0.2415 0.3027 0;
0.1217 0.1581 0.1408 0.2304 0.3143 0.4312 0.5819 0.7125 0.8065 0.8647 0.9726 1.132 0.2385 0.3125 0;
0.1525 0.1627 0.1507 0.2406 0.3502 0.4636 0.5051 0.7352 0.8459 0.8915 0.9654 1.156 0.2216 0.2701 1;
0.1016 0.1105 0.1234 0.1978 0.3021 0.4232 0.5819 0.6952 0.8015 0.8725 0.9825 1.095 0.2352 0.2506 0.5;
0.1115 0.1201 0.1312 0.2019 0.3532 0.4736 0.5029 0.7032 0.8189 0.8619 0.9365 1.125 0.2542 0.3125 0;
0.1335 0.1322 0.1534 0.2214 0.3623 0.4827 0.5198 0.7276 0.8359 0.8906 0.9592 1.143 0.2601 0.3198 0;
0.1368 0.1432 0.1653 0.2205 0.3823 0.4971 0.5136 0.7129 0.8263 0.8953 0.9891 1.137 0.2579 0.3099 0;
0.1342 0.1368 0.1602 0.2131 0.3726 0.4822 0.5101 0.7098 0.8127 0.8921 0.9995 1.126 0.2301 0.2867 0.5;
0.1113 0.1212 0.1305 0.1819 0.3952 0.4312 0.5886 0.6898 0.7999 0.8423 0.9721 1.095 0.2234 0.2799 1;
0.1005 0.1121 0.1207 0.1605 0.3556 0.4022 0.5553 0.6673 0.7798 0.8623 0.9521 1.087 0.2314 0.2977 0]';
T=[0.1217 0.1581 0.1408 0.2304 0.3143 0.4312 0.5819 0.7125 0.8265 0.8847 0.9826 1.132;
0.1525 0.1627 0.1507 0.2406 0.3502 0.4636 0.5051 0.7352 0.8459 0.8915 0.9464 1.156;
0.1016 0.1105 0.1234 0.1978 0.3021 0.4232 0.5819 0.6952 0.8015 0.8825 0.9825 1.102;
0.1115 0.1201 0.1312 0.2019 0.3532 0.4736 0.5029 0.7032 0.8189 0.8919 0.9965 1.125;
0.1335 0.1322 0.1534 0.2214 0.3623 0.4827 0.5198 0.7276 0.8359 0.8506 0.9892 1.123;
0.1368 0.1432 0.1653 0.2205 0.3823 0.4971 0.5136 0.7129 0.8263 0.8953 0.9691 1.117;
0.1342 0.1368 0.1602 0.2131 0.3726 0.4822 0.5101 0.7098 0.8127 0.8921 0.9995 1.126;
0.1113 0.1212 0.1305 0.1819 0.3952 0.4312 0.5886 0.6898 0.7999 0.8323 0.9721 1.156;
0.1005 0.1121 0.1207 0.1605 0.3556 0.4022 0.5553 0.6673 0.7798 0.8623 0.9521 1.156;
0.1123 0.1257 0.1343 0.2079 0.3579 0.4716 0.5459 0.7145 0.8205 0.8901 0.9419 1.136]';
threshold=;
net=newff(threshold,,{'tansig','logsig'},'trainscg','learngdm');%新建BP神经网络
net.trainParam.epochs=1000;%bp网络训练次数
net.trainParam.goal=0.002;%网络训练目标
net.trainParam.lr=0.01;%网络学习速率
=train(net,P,T);%训练网络
P_test=';%网络输入数据
Out=sim(net,P_test);%网络仿真
X=;%实际测得数据
t=1:1:12;
box off;
grid off;
plot(t,Out,'b',t,X,'r');%画出二维图形
set(gca,'Xtick',0:1:24,'Ytick',0:.1:1.4);%设置坐标
title('基于BP网络的设备故障时间序列预测');
xlabel('时间/2小时');
ylabel('加速度/g');
text(1.5,1.2,'预测振动曲线(蓝)');
text(1.5,1.1,'实际测试曲线(红)');
%gtext('预测振动曲线(蓝)与实际测试曲线(红)比较');
%h=legend('预测振动曲线(蓝)与实际测试曲线(红)比较');
%zoom on;
%zoom(0.2); 斑竹就是强!而且人又热心!昨天晚上加班加点地帮我这个素昧平生的人调试程序!多谢多谢!
小生有礼了
哪位大侠还有这方面(关于神经)网络的例子共享一下拉 这样的东西最好了,但是如果有结果数据和图的话那就更好了。 看了你的程序,收获很大,现在提一些疑问。1.程序里的数据是时间序列吗,好像看起来不连贯。
2.不知道是不是输入错误,第一组训练数据得到的目标跟第二组训练数据不一致。
请指教。 原帖由 令伶冷 于 2006-7-15 11:06 发表
哪位大侠还有这方面(关于神经)网络的例子共享一下拉
这也是楼主发的:http://forum.vibunion.com/forum/viewthread.php?tid=12773&highlight=BP 搂主得精神,太NB了,哈哈:lol :lol 在学习神经网络,看到你的源码很受启发,网上这样的东西太少了,新手很需要这样的东东,谢谢楼主,向你致敬!!!!!! 辛苦了!谢谢分享! 学习学习,{:{39}:} bp以前接触过,现在好像不火了 {:3_47:}{:3_50:}
页:
[1]