楼主: 西风细雨
2107 1

[统计软件与数据分析] BP神经网络三年滚动预测程序出现编码错误,希望帮忙解答,谢谢~ [推广有奖]

  • 1关注
  • 0粉丝

高中生

10%

还不是VIP/贵宾

-

威望
0
论坛币
1451 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
643 点
帖子
2
精华
0
在线时间
46 小时
注册时间
2015-4-20
最后登录
2024-5-28

楼主
西风细雨 发表于 2016-8-24 17:15:55 来自手机 |AI写论文
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位)

关键词:BP神经网络 神经网络 神经网 weights Perform

沙发
小鑫小鑫 学生认证  发表于 2016-8-30 11:08:59
换RBF神经网络试试

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-31 13:57