k=rand(1,19024);
[m,n]=sort(k);
%找出训练数据和预测数据
input_train=input(n(1:15219),:)';
output_train=output(n(1:15219));
input_test=input(n(15220:19204),:)';
output_test=output(n(15220:19204));
%训练样本输入输出归一化
[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(net,inputn,outputn);
%% BP网络预测
%预测数据归一化
inputn_test=mapminmax('apply',input_test,inputps);
%网络训练输出
an=sim(net,inputn_test);
%权值阈值输出
qz1=net.iw{1,1};
qz2=net.lw{2,1};
yz1=net.b{1};
yz2=net.b{2};
%网络训练反归一化
BPoutput=mapminmax('reverse',an,outputps);
save net;
以上为代码内容,matlab中结果出现Index exceeds matrix dimensions。
求解决方案~~