⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bp.m

📁 使用MATLAB自己实现的一个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 + -