%清空环境变量clcclear%读取数据a=xlsread('F:\4.数据挖掘讲义—马景义\数据和程序\matlab\one-input.csv');b=xlsread('F:\4.数据挖掘讲义—马景义\数据和程序\matlab\output.csv');c=xlsread('F:\4.数据挖掘讲义—马景义\数据和程序\matlab\c.csv');savedata1.matbsavedata2.mataloaddata1loaddata2%节点个数inputnum=42;hiddennum=8;outputnum=1;%训练数据和预测数据input_train=a(:,1:90);input_test=a(:,91:137);output_train=b(:,1:90);output_test=b(:,91:137);%将训练样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%构建BP神经网络net=newff(inputn,outputn,[20,12],{'tansig','purelin'},'traingdx');net.trainParam.epochs=1000;net.trainParam.lr=0.01;net.trainParam.goal=0.00000001;%BP神经网络训练net=train(net,inputn,outputn);%测试样本归一化inputn_test=mapminmax('apply',input_test,inputps);%BP神经网络预测an=sim(net,inputn_test);%%网络得到数据反归一化BPoutput=mapminmax('reverse',an,outputps);d=BPoutputcfigure(1)%plot(d,':og');scatter(1:(137-90),d,'rx');holdon;%plot(output_test,'-*');scatter(1:(137-90),output_test,'o');legend('预测输出','期望输出','fontsize',12);title('BP网络预测输出','fontsize',12);xlabel('样本','fontsize',12);xlabel('优化前输出的误差','fontsize',12);figure(2)error=d-output_test;plot(1:(137-90),error);xlabel('样本','fontsize',12);ylabel('优化前输出的误差','fontsize',12);%savenetnetinputsoutputs