gabpfault.m
上传用户:szhysm888
上传日期:2008-07-11
资源大小:35k
文件大小:1k
开发平台:

Matlab

  1. tic, %开始计时
  2. % 首先进行遗传算法
  3. [P,T,R,S1,S2,S]=nninit;
  4. aa=ones(S,1)*[-1 1];
  5. popu=30;
  6. initPpp=initializega(popu,aa,'gabpEval');
  7. gen=80; % 遗传代数
  8. % 遗传计算
  9. [x endPop bPop trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...   'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]); % x The best found
  10. % Lets take a look at the performance of the ga during the run
  11. subplot(2,1,1) plot(trace(:,1),1./trace(:,3),'r-') hold on plot(trace(:,1),1./trace(:,2),'b-')
  12. xlabel('Generation');
  13. ylabel('Sum-Squared Error');
  14. subplot(2,1,2) plot(trace(:,1),trace(:,3),'r-') hold on plot(trace(:,1),trace(:,2),'b-')
  15. xlabel('Generation');
  16. ylabel('Fittness');
  17. % 下面进行BP算法
  18. figure(2)
  19. % 将遗传算法的结果分解为BP网络所对应的权值、阈值
  20. [W1 B1 W2 B2 P T A1 A2 SE val]=gadecod(x);
  21. % BP网络训练的参数设置
  22. disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01;
  23.  TP=[disp_fqre  max_epoch err_goal lr];
  24. [W1,B1,W2,B2,te,tr]=trainbp(W1,B1,'tansig',W2,B2,'purelin',P,T,TP);
  25. % 仿真结果
  26. TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin')
  27. toc  % 结束计时