BP神经网络逼近函数

用BP神经网络逼近函数 ,训练样本集 ;测试样本集 ,程序代码,测试曲线。

 

程序代码:

clear

clc

k=1;

u=[-0.5:0.05:0.45];

t=exp(-1.9*(u+0.5)).*sin(10*u);

n=10;

net=newff(minmax(u),[n,1],{'tansig' 'purelin'},'trainlm');

y1=sim(net,u);

plot(u,t,'-',u,y1,'--');

xlabel('时间');

ylabel('函数值');

title('未训练的BP网络逼近效果');

legend('要逼近的函数曲线','未训练的BP网络逼近曲线');

net=newff(minmax(u),[n,1],{'tansig' 'purelin'},'traingdm');

net.trainParam.epochs=1000;

net.trainParam.goal=0.01;

m=[-0.48:0.05:0.47];

net=train(net,m,t);

y2=sim(net,m);

plot(u,t,'-',u,y1,'--',m,y2,'.');

legend('要逼近的函数曲线','未训练的BP网络逼近曲线','训练后的BP网络逼近曲线');

xlabel('时间');

ylabel('函数值');

 

测试曲线:

BP神经网络逼近函数

 

图1:测试曲线图

BP神经网络逼近函数

 

图2:神经网络训练图

BP神经网络逼近函数

 

图3:神经网络训练表现曲线

BP神经网络逼近函数

 

图4:神经网络训练情况曲线

BP神经网络逼近函数

 

图5:神经网络训练回归曲线