Matlab BP神经网络工具箱实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%BP神经网络实现与数据预测
close all
clear
%%
%读取文件(根据数据路径更改)
filename='E:\y\12.txt';
data=textread(filename);
%取前25组数据作为样本
data1=data(:,1);
data2=data(:,2);
xaxis=data1(1:25)';
yaxis=data2(1:25)';
%%
%创建BP神经网络
n=20;%神经元个数
net = newff(minmax(xaxis),[n,1],{'tansig' 'purelin'},'trainlm');
%当前输入层权值和阈值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%当前网络层权值和阈值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
%BP网络训练
net.trainParam.epochs=70; %网络训练时间设置
net.trainParam.goal=0.01;%网络训练精度设置
net=train(net,xaxis,yaxis);%开始训练网络
%%
%仿真
xs=data1';
ys=data2';
y=sim(net,xs);
%%
%输出结果
figure(1)
plot(xs,ys,'-ob','LineWidth',2,'MarkerSize',10);hold on
plot(xs,y,'-*r');
legend('original','prediction');
xlabel('periods');
ylabel('sedimentation(mm)');
%计算误差与标准差
E=ys-y;
E1=E(1:25);
MSE=mse(E1);
fprintf('%d', MSE);%网络工具箱也会提供方差的值

相关文档
最新文档