📄 bp2.m
字号:
close all
clear
echo on
clc
% NEWFF---生成一个新的前向神经网络
% TRAIN-----对BP神经网络进行训练
% SIM----对BP神经网络进行仿真
pause
% 敲任意键开始
clc
% 定义训练样本
% P 为输入矢量
P=textread('xiugaiinput1.txt');
%T为目标矢量
T=textread('xiugaioutput1.txt');
pause;
clc
P=P';
T=T';
%创建一个新的前向神经网络
net=newff(minmax(P),[30,1],{'tansig','purelin'},'traingdm')
%当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
% 设置训练参数
net.trainParam.show=1000;
net.trainParam.lr=0.01;
net.trainParam.mc=0.95;
net.trainParam.epochs=1500000;
net.trainParam.goal=0.07;
pause
clc
% 调用TRAINGDM算法训练BP网络
[net,tr]=train(net,P,T);
pause
clc
%训练后网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
% 对BP网络进行仿真
A=sim(net,P)
for i=1:100
A(i)
end
plot(i,A);
% 计算仿真误差
E=T-A
MSE=mse(E)
pause
clc
echo off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -