数学建模社区-数学中国

标题: BP神经网络问题 [打印本页]

作者: jthawking    时间: 2009-8-31 16:58
标题: BP神经网络问题
以下是一段BP神经网络的代码,为什么运行时总是出现Index exceeds matrix dimensions的错误提示,麻烦哪位大侠帮忙下...
0 w+ z7 O/ j3 V% l- r3 k$ x: Y! `, ?" l, D5 r9 Z! _; ^
P=[27000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;
: Q2 y) \; R" }* ]4 B3 \. X6 n$ ?30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;
0 O- S* b: x+ }7 B: U4 F/ `/ C33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;5 w, @+ [- Q: K
33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;
& K- x( w" p" H6 ]' |7 s1 `* E41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;
7 P2 g9 q; E  c3 @# m43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;0 V1 s' P$ x8 J
46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;8 p4 A" s& d) g9 A1 m$ O
53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;
7 i# h  `& N2 N  G. ?$ L) |59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;3 K9 o& _3 r, ]
64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
8 I3 e! \' n& [1 S# x3 i0 \( y7 w/ i1 y70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
0 h$ M) x8 _( Q79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;
# t! T, I! f5 N3 Z0 b/ w3 B78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21];
2 o; B4 l$ Q. e4 q; \T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];
2 V  s( L3 T. b/ _[pn,minp,maxp]=premnmx(P);0 V" b0 \" b6 [3 f
[tn,mint,maxt]=premnmx(T);% |& D% v7 E; o0 m# j9 H! t& n
net=newff(minmax(pn(:,1:12)),[5,1],{'tansig','purelin'},'trainlm');
# B& t/ T0 c3 Z# o. v2 Snet=init(net);/ z& M9 u, ~9 Q2 H9 a$ O. [
net.trainParam.epochs=20000;# t( m2 j+ F; N+ e3 r7 `
net.trainParam.goal=0.0001;
9 k9 a7 [& V: v$ Lnet.trainParam.lr=0.05;+ I9 Z2 w$ d5 p5 d
net=train(net,pn(:,1:12),tn(1:12));
  Z) z6 s: g; a  m/ o7 x' y6 Bt_sim=sim(net,pn);, w, G5 t6 P% r  i
t_sim=postmnmx(t_sim,mint,maxt)
# M1 i# u( }& r& t3 V$ \" }* erelative_error=abs(t_sim(1:13)-T)./T
5 d( g) k' u& S9 X6 f( Mfigure(1): q) F- |/ X. t2 @
i=1:1:length(t_sim);" O( D: C2 O9 P0 g
j=1:length(T);6 c. K$ g" |- \$ r0 s) J7 s
plot(i,t_sim,'r',j,T,'bo')
+ B$ Z$ I+ D- b5 X3 V% Elegend('test value','true value','relative_error')3 O$ D: ?$ f( {7 d
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');
* M( X8 ?% N! Z$ f12应该改为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