资源简介
本文件是基于MATLAB的BP神经网络非线性系统的建模和非线性函数拟合,是非常适用的,可直接进行运行和查看,建议大家大家可以多多学习,多练习。熟能生巧
代码片段和文件信息
%% 该代码为基于双隐含层BP神经网络的预测
%
%
% 该案例作者申明: 1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。本套书籍官方网站为:video.ourmatlab.com 2:点此从当当预定本书:《Matlab神经网络30个案例分析》。 3:此案例有配套的教学视频,视频下载方式video.ourmatlab.com/vbuy.html。
4:此案例为原创案例,转载请注明出处(《Matlab神经网络30个案例分析》)。 5:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。
%
%% 清空环境变量
clc
clear
%% 训练数据预测数据提取及归一化
%下载输入输出数据
load data input output
%从1到2000间随机排序
k=rand(12000);
[mn]=sort(k);
%找出训练数据和预测数据
input_train=input(n(1:1900):)‘;
output_train=output(n(1:1900));
input_test=input(n(1901:2000):)‘;
output_test=output(n(1901:2000));
%选连样本输入输出数据归一化
[inputninputps]=mapminmax(input_train);
[outputnoutputps]=mapminmax(output_train);
%% BP网络训练
% %初始化网络结构
net=newff(inputnoutputn[5 5]);
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.00004;
%网络训练
net=train(netinputnoutputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax(‘apply‘input_testinputps);
%网络预测输出
an=sim(netinputn_test);
%网络输出反归一化
BPoutput=mapminmax(‘reverse‘anoutputps);
%% 结果分析
figure(1)
plot(BPoutput‘:og‘)
hold on
plot(output_test‘-*‘);
legend(‘预测输出‘‘期望输出‘)
title(‘BP网络预测输出‘‘fontsize‘12)
ylabel(‘函数输出‘‘fontsize‘12)
xlabel(‘样本‘‘fontsize‘12)
%预测误差
error=BPoutput-output_test;
figure(2)
plot(error‘-*‘)
title(‘BP网络预测误差‘‘fontsize‘12)
ylabel(‘误差‘‘fontsize‘12)
xlabel(‘样本‘‘fontsize‘12)
figure(3)
plot((output_test-BPoutput)./BPoutput‘-*‘);
title(‘神经网络预测误差百分比‘)
errorsum=sum(abs(error));
web browser www.matlabsky.com
%%
%
%
评论
共有 条评论