📄 bp.m
字号:
function out=Bp(P,T,In,S,TrainFun);
Ps=(P-min(min(P)))/(max(max(P))-min(min(P)));
Ts=(T-min(min(T)))/(max(max(T))-min(min(T)));
INs=(In-min(min(In)))/(max(max(In))-min(min(In)));
OutSize=size(T);
%判断参数是否规范
if OutSize(1)~=S(length(S));
disp('输入的参数不规范');
end;
switch length(S)
case 1
net = newff(minmax(Ps),S,{'purelin'},TrainFun);
case 2
net = newff(minmax(Ps),S,{'tansig' 'purelin'},TrainFun);
case 3
net = newff(minmax(Ps),S,{'tansig' 'logsin' 'purelin'},TrainFun);
otherwise
disp('层数不在预定范围内');
end;
net.trainParam.epochs=10000;
net.trainParam.goal =0.000005;
net=train(net,Ps,Ts);
y=sim(net,Ps);
e=Ts-y;
error=mse(e,net);
r=norm(error);
save net;
yuce=sim(net,INs);
yuce=yuce*(max(max(T))-min(min(T)))+min(min(T));
%输出预测结果
disp(yuce);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -