全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅
2026 1
2016-08-24
悬赏 20 个论坛币 未解决
p=[791.7,856,929.1,1007.6,1124.7,1255,1234.1,1402.9,1516.5,1605,1845.5,2060,2250.3,2587.3,2708.7,2971.2,3259.2,3575.1,3921.7];%为97年到15年的旅游人数数据
%p=[791.7,856,929.1,1007.6,1124.7,1255,1234.1,1402.9,1516.5,1605,1845.5,2060,2250.3,2587.3];
p=p/1000;
n=length(p);
m=3;
td=0;
for i=1:(n-td-m)
    for j=1:m
  pn(i,j)=p(i-1+j);
    end
    t(i)=p(i+m+td);%对应训练集的目标值
end
pn=pn';
net=newff(minmax(pn),[3,10,1],{'tansig','tansig','purelin'},'trainlm','learngd');
net.layers{1}.initFcn='initnw';
net.inputWeights{1,1}.initFcn='rands';
net.biases{1,1}.initFcn='rands';
net.biases{2,1}.initFcn='rands';
net=init(net);
net.performFcn='sse';
net.trainParam.show=20;
net.trainParam.Ir=0.001;
net.trainParam.goal=1e-5;
net.trainParam.max_fail=200;
net.trainParam.min_grad=1e-7;
net.trainParam.epochs=5000;
net.trainParam.mc=0.90;
[net,tr]=train(net,pn,t);
figure,disp('得到2000-2015年预测数据为:')
A = sim(net,pn) %仿真
plot(2000:2015,A*1e+3,'r*',2000:2015,t*1e+3);
legend('预测值','实际值');ylabel('旅游人数(万人)');xlabel('年份');
save net
%计算仿真误差
E=t-A;MSE=mse(E)
td,disp('得到2015年后连续td年的预测数据:')
(进行到这里,都是可以运行的,但之后我输入以下程序:)
for i=0:td
    x = [p(n-(td+m-1)+i),p(n-(td+m-2)+i),p(n-td+i)]';
px(i+1) = sim(net,x);
(就出现了??? Error using ==> network.sim at 121
Input 1 size does not match net.inputs{1}.size.)
end
px
请问该如何修改?谢谢~
(我用的是matlabR2010b版本,32位)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-8-30 11:08:59
换RBF神经网络试试
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群