采用三层单输入单输出BP-网络逼近2-2.docx
《采用三层单输入单输出BP-网络逼近2-2.docx》由会员分享,可在线阅读,更多相关《采用三层单输入单输出BP-网络逼近2-2.docx(2页珍藏版)》请在冰豆网上搜索。
![采用三层单输入单输出BP-网络逼近2-2.docx](https://file1.bdocx.com/fileroot1/2022-10/7/750b99d3-447e-46c4-8ebb-40a2551d34b6/750b99d3-447e-46c4-8ebb-40a2551d34b61.gif)
采用三层单输入单输出BP网络逼近22
2
()1.1(12)
x
fxxxe
−
=×−+×,样本[-44]
均分成一百组。
步长0.003,ε=0.5。
MATLAB程序及仿真波形如下:
clc
clear;
x=-4:
0.08:
4;
f=1.1*(1-x+2.*(x.^2)).*exp(-x.^2/2);
net=newff([-44],[1,10,1],{'tansig','tansig','purelin'});%创建神经网络net.trainparam.show=25;%显示中间结果的周期
net.trainparam.epochs=2000;%最大迭代次数
net.trainparam.goal=0.5;%神经网络训练的目标误差net.trainparam.lr=0.003;%学习率[net,tr]=train(net,x,f);%训练
lw1=net.IW{1};b1=net.b{1};
lw2=net.LW{2,1};
b2=net.b{2};
lw3=net.LW{3,2};
b3=net.b{3};
savebpnet%保存网络loadbpnet%调用网络x=-4:
0.08:
4;
f=1.1*(1-x+2.*(x.^2)).*exp(-x.^2/2);
A=sim(net,x);%仿真figure
holdongrid
plot(x,f,'b-',x,A,'r:
');
legend('原函数曲线','逼近曲线');