%使预测结果不会每次都不一样
close all;
clear all;
P= -0.6:0.1:0.8;
T = [1.216 2.321 1.235 2.345 1.453 2.345 1.234 3.222 ...
1.343 1.234 2.443 2.334 2.413 2.347 3.125];
net= newff( [ -1,1], [15, 1], { 'tansig','purelin' },'trainlm', 'learngdm');
net.trainParam.show = 100; % 设置训练显示间隔次数
net.trainParam.epochs= 20000; %设置最大训练循环次数
net.trainParam.goal= 0.0001; % 设置性能目 标值
net.trainParam.lr= 0.05; % 设置学习 系数
net= train ( net,P,T);
%神经网络每次结果不同是因为初始化的权值和阈值是随机的,因为每次的结果不一样,
% 才有可能找到比较理想的结果,找到比较好的结果后,
% 用命令save filename net;保存网络,可使预测的结果不会变化,
% 调用时用命令load filename net;
save bp_net net
% 仿真
hold on
plot( P, T,'*'); %绘制原输入输出曲线
load bp_net net
P = -0.6: 0.1:0.8;
r= sim ( net, P );
plot(P,r,'o-');
hold off
close all;
clear all;
P= -0.6:0.1:0.8;
T = [1.216 2.321 1.235 2.345 1.453 2.345 1.234 3.222 ...
1.343 1.234 2.443 2.334 2.413 2.347 3.125];
net= newff( [ -1,1], [15, 1], { 'tansig','purelin' },'trainlm', 'learngdm');
net.trainParam.show = 100; % 设置训练显示间隔次数
net.trainParam.epochs= 20000; %设置最大训练循环次数
net.trainParam.goal= 0.0001; % 设置性能目 标值
net.trainParam.lr= 0.05; % 设置学习 系数
net= train ( net,P,T);
%神经网络每次结果不同是因为初始化的权值和阈值是随机的,因为每次的结果不一样,
% 才有可能找到比较理想的结果,找到比较好的结果后,
% 用命令save filename net;保存网络,可使预测的结果不会变化,
% 调用时用命令load filename net;
save bp_net net
% 仿真
hold on
plot( P, T,'*'); %绘制原输入输出曲线
load bp_net net
P = -0.6: 0.1:0.8;
r= sim ( net, P );
plot(P,r,'o-');
hold off