开始学习matlab,参照文献,模拟文献计算,出现问题,请大神指点,多谢! load sample %导入原始样本 data=inputdata';%矩阵转置 result=outputdata'; n=randperm(49);%1-49随机排列 p=data(:,n(1:40));%取40个样本用于训练 t=result(:,n(1:40)); test=data(:, n(41:49));%取剩余9个样本用于检验 b=result(:, n(41:49)); save bpdata %将上述变量保存于bpdata.mat [pn, pp]=mapminmax(p);%归一化处理 minp=pp.ymin; maxp=pp.ymax; [tn, tt] = mapminmax(t); mint=tt.ymin; maxt=tt.ymax; for i=1:20; %循环 net = newff(pn, tn, i, {'tansig','purelin'},'traingdx');%构建神经网络 net.divideParam.trainRatio = 100/100; %修改训练样本比例 net.divideParam.valRatio = 0/100; net.divideParam.testRatio = 0/100; net.trainParam.epochs = 2000;%最大训练次数 net.trainParam.lr =0.05;%学习步长 net.trainParam.goal =0.00001;%学习目标 net=train(net,pn,tn);%训练函数 testn = mapminmax('apply',test, pp);%归一化测试样本 an=sim(net, testn);%预测 a=mapminmax('reverse',an.tt);%反归一化 sse=sum((b-a).^2)%误差平方和 r(i)=norm(sse);%输出不同隐层节点数下的误差平方和 end Attempt to reference field of non-structure array. 请大神指点!!! |
2 条回复