数学建模社区-数学中国
标题:
BP神经网络问题
[打印本页]
作者:
jthawking
时间:
2009-8-31 16:58
标题:
BP神经网络问题
以下是一段BP神经网络的代码,为什么运行时总是出现Index exceeds matrix dimensions的错误提示,麻烦哪位大侠帮忙下...
7 l2 i$ l5 f. z7 t* Q+ x
4 i% v+ J' u1 e7 { f
P=[27000 297.35 327.53 2658 6.31 68.3 15948 737 16316 583.89 1.96;
Y+ Z$ W" b1 a- p/ ~, f& q6 S
30619 325.00 390.51 2763 6.94 69.6 17130 789 18600 707.67 2.28;
- X; j$ a/ l" A7 i _, n2 C' b
33282 423.00 474.63 2801 5.73 69.7 17866 894 19886 861.88 2.32;
$ u" c. h5 Y% u! t+ g
33689 467.57 569.55 2887 7.76 69.8 18961 1015 20249 941.99 2.38;
" h) Q6 T% T/ n2 ], J+ _, a3 ~
41020 538.17 616.25 2920 8.23 69.7 19688 1198 21626 1082.6 2.73;
2 N$ D# R9 [0 f( }5 h
43344 832.04 686.37 3495 8.87 68.3 24465 1361 23544 1373.4 2.89;
, K% o8 k/ Y$ [2 G
46030 941.94 788.15 3495 9.57 68.2 24814 1710 24941 1756.5 2.82;
" X* G7 }9 Z1 Y, P+ Q% l0 b5 Q
53887 1095.13 969.1 4885 9.65 68.7 36149 2100 25936 2199.5 3.08;
# Z' H8 M% K( K# C: v
59271 1250.64 1092.6 5376 10.11 69.2 43008 2314 26596 2625.4 3.56;
2 ?6 `5 b3 @% b" `
64507 1437.67 1176.1 6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
8 d0 O: N$ {. W4 C& `
70597 1671.29 1273.7 7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
~- d& R9 N5 x( k' u
79221 1905.03 1345 8023 18.6 69.1 70346 2798 30063 3792.6 5.1;
6 q2 ?, N3 M3 q" d# b" b, ^
78812 2207.88 927.16 8328 20.52 69.3 71088 2964 30904 3951.64 5.21];
7 B3 [2 C% C& N6 J6 `4 h
T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];
. z: {1 j/ h+ Q& n- X% [2 Z! s, C2 a
[pn,minp,maxp]=premnmx(P);
. v: p& k$ T# n3 I' `0 R
[tn,mint,maxt]=premnmx(T);
" ]( i1 e* k. \( l4 X% T* ]
net=newff(minmax(pn(:,1:12)),[5,1],{'tansig','purelin'},'trainlm');
1 D5 n7 v5 C$ H, B, _! U
net=init(net);
$ Q M' F3 Y& r4 |* b* V8 e# W7 R
net.trainParam.epochs=20000;
* m& a( `( q7 O9 y/ f. u2 f9 x
net.trainParam.goal=0.0001;
8 R. _- R4 J, D
net.trainParam.lr=0.05;
* }1 d. @# e/ t, {# q& I8 l4 R
net=train(net,pn(:,1:12),tn(1:12));
1 W3 B4 w0 x% K. I8 g
t_sim=sim(net,pn);
' w& R$ p( Z& `0 @
t_sim=postmnmx(t_sim,mint,maxt)
3 H5 Q* I1 F( ]2 d O
relative_error=abs(t_sim(1:13)-T)./T
5 H! M0 D B% p3 l3 p4 @7 c7 S
figure(1)
/ M- V# I2 G, t
i=1:1:length(t_sim);
; ]( K3 i, o: M. h1 G
j=1:length(T);
* D# I3 y7 I# N6 m1 y6 l
plot(i,t_sim,'r',j,T,'bo')
/ j( P" t. ?$ e" v! C0 |! N
legend('test value','true value','relative_error')
5 o1 e0 X) W( B7 x8 I& x' E% v
title('result compare between test value and true value')
作者:
Kind
时间:
2009-8-31 17:48
不懂!!!!!!!!!!1111
作者:
mmxyhlh
时间:
2009-8-31 17:59
yun.......
作者:
LEIHENG
时间:
2009-8-31 18:47
不懂呀!!!!!!
作者:
sunmin08
时间:
2009-8-31 18:57
好多数据呀!!
作者:
lyyy
时间:
2009-8-31 19:40
这个是因为数组维数出问题了,你再看看吧。
作者:
诸葛孔明
时间:
2009-8-31 22:36
报错应该是说矩阵维数不对,net=newff(minmax(pn(:,1:12)),[5,1],{'tansig','purelin'},'trainlm');
, J) J( s5 h) i& l7 b/ j$ M
12应该改为11,后面的也要改。我试了一下,没有迭代完,还有错误········
作者:
jthawking
时间:
2009-9-1 10:27
改过了了,但是程序运行到后来怎么还是有该错误提示呢,麻烦高手赐教...
7#
诸葛孔明
作者:
wen1055
时间:
2009-9-1 10:34
把具体的问题发上来,更好理解!
作者:
jthawking
时间:
2009-9-1 11:29
具体的问题就是Index exceeds matrix dimensions.现在前后维度都改过了阿。。。
9#
wen1055
作者:
cool_gr
时间:
2009-9-1 15:27
拿回去研究一下 呵呵
作者:
cool_gr
时间:
2009-9-1 15:28
估计还是维度上的问题
作者:
jthawking
时间:
2009-9-1 15:42
呵呵,可以了,谢谢。不过怎样进行下一年的预测呢?没有下一年的数据。。。。
12#
cool_gr
作者:
文素
时间:
2011-1-14 22:43
?????????
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5