资源描述:
《matlab神经网络30个案例分析(原代码)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、该代码为基于BP神经网络的预测算法Contents·清空环境变量·训练数据预测数据提取及归一化·BP网络训练·BP网络预测·结果分析清空环境变量clcclear训练数据预测数据提取及归一化%下载输入输出数据loaddatainputoutput%从1到2000间随机排序k=rand(1,2000);[m,n]=sort(k);%找出训练数据和预测数据input_train=input(n(1:1900),:)';output_train=output(n(1:1900));input_test=input(n(1901:2000)
2、,:)';output_test=output(n(1901:2000));%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);BP网络训练%初始化网络结构net=newff(inputn,outputn,5);net.trainParam.epochs=100;net.trainParam.lr=0.1;net.trainParam.goal=0.00004;%网络训练net=train(
3、net,inputn,outputn);BP网络预测%预测数据归一化inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出an=sim(net,inputn_test);%网络输出反归一化BPoutput=mapminmax('reverse',an,outputps);结果分析figure(1)plot(BPoutput,':og')holdonplot(output_test,'-*');legend('预测输出','期望输出')title('BP网络预测输出','f
4、ontsize',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('神经
5、网络预测误差百分比')errorsum=sum(abs(error))webbrowserwww.matlabsky.comerrorsum=9.9743该代码为基于双隐含层BP神经网络的预测Contents·清空环境变量·训练数据预测数据提取及归一化·BP网络训练·BP网络预测·结果分析清空环境变量clcclear训练数据预测数据提取及归一化%下载输入输出数据loaddatainputoutput%从1到2000间随机排序k=rand(1,2000);[m,n]=sort(k);%找出训练数据和预测数据input_train=i
6、nput(n(1:1900),:)';output_train=output(n(1:1900));input_test=input(n(1901:2000),:)';output_test=output(n(1901:2000));%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);BP网络训练%初始化网络结构net=newff(inputn,outputn,[55]);net.train
7、Param.epochs=100;net.trainParam.lr=0.1;net.trainParam.goal=0.00004;%网络训练net=train(net,inputn,outputn);BP网络预测%预测数据归一化inputn_test=mapminmax('apply',input_test,inputps);%网络预测输出an=sim(net,inputn_test);%网络输出反归一化BPoutput=mapminmax('reverse',an,outputps);结果分析figure(1)plot(BP
8、output,':og')holdonplot(output_test,'-*');legend('预测输出','期望输出')title('BP网络预测输出','fontsize',12)ylabel('函数输出','fontsize',12)xl