BP1.m
上传用户:wjp801126
上传日期:2022-04-27
资源大小:1k
文件大小:1k
源码类别:

matlab例程

开发平台:

EasyLanguage易语言

  1. %P为输入矢量
  2. p=[-1:0.05:1];
  3. %T为目标矢量
  4. randn('seed',78341223);
  5. t=sin(2*pi*p)+0.1*randn(size(p));
  6. %绘制训练样本数据点
  7. plot(p,t,'+');
  8. %绘制不含噪声的正弦曲线
  9. plot(p,sin(2*pi*p),':');
  10. %定义验证样本
  11. s=[-0.975:0.05:0.975];
  12. %创建一个新的前向神经网络
  13. [w1,b1,w2,b2]=initff(p,6,'tansig',1,'purelin');
  14. %设置训练参数
  15. disp_fqre=10;
  16. max_epoch=5000;
  17. err_goal=0.01;
  18. lr=0.2;
  19. tp=[disp_fqre max_epoch err_goal lr];
  20. %训练网络
  21. [w1,b1,w2,b2,ep,er]=trainlm(w1,b1,'tansig',w2,b2,'purelin',p,t,tp);
  22. %对BP网络进行仿真
  23. a=simuff(s,w1,b1,'tansig',w2,b2,'purelin');
  24. %绘制仿真拟合结果曲线
  25. plot(s,a,p,t,'+',p,sin(2*pi*p),':');