p=-1:0.1:1;
t=[-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -
0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201 ]
[R,Q]=size(p);
[S2,Q]=size(t);
S1=5;
[w1,b1]=rands(S1,R);
[w2,b2]=rands(S2,S1);
A2=purelin(w2*tansig(w1*p,b1),b2);
disp_fqre=10;max_epoch=18000;err_goal=0.01;lr=0.01;
TP=[disp_fqre max_epoch err_goal lr];
[w1 b1 w2 b2 epoch errors]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p ,t,TP);
图 1 最终拟合图