数学建模社区-数学中国

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

作者: jthawking    时间: 2009-8-31 16:58
标题: BP神经网络问题
以下是一段BP神经网络的代码,为什么运行时总是出现Index exceeds matrix dimensions的错误提示,麻烦哪位大侠帮忙下..., ~3 w, e3 y8 V5 z
) Y* J4 C, g! i: k7 U4 ?
P=[27000 297.35  327.53  2658 6.31  68.3 15948 737  16316 583.89 1.96;# ^% E  R% l3 d( k) I
30619 325.00  390.51  2763 6.94  69.6 17130 789  18600 707.67 2.28;% q% t/ V/ _3 ~- J5 z# ?
33282 423.00  474.63  2801 5.73  69.7 17866 894  19886 861.88 2.32;
' o# w- F0 Q$ J) D; p33689 467.57  569.55  2887 7.76  69.8 18961 1015 20249 941.99 2.38;
2 f0 Z/ a5 q0 [9 T: }41020 538.17  616.25  2920 8.23  69.7 19688 1198 21626 1082.6 2.73;
! A" Y1 V2 Q$ w5 r' D1 t6 `) ~9 m43344 832.04  686.37  3495 8.87  68.3 24465 1361 23544 1373.4 2.89;8 {) q  B. [# [6 I7 E4 g; h$ x4 g& u
46030 941.94  788.15  3495 9.57  68.2 24814 1710 24941 1756.5 2.82;
6 {) W  n: ~3 x  Q7 m/ k53887 1095.13 969.1   4885 9.65  68.7 36149 2100 25936 2199.5 3.08;- a4 \" W# O! N: ~6 `
59271 1250.64 1092.6  5376 10.11 69.2 43008 2314 26596 2625.4 3.56;
$ o1 u% z1 C! N8 a64507 1437.67 1176.1  6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
9 K6 ^+ D8 U, O+ L+ O$ W70597 1671.29 1273.7  7305 16.81 69.2 65745 2614 29628 3744.7 4.98;) n* [2 e+ I0 c% w0 t1 a5 J
79221 1905.03 1345    8023 18.6  69.1 70346 2798 30063 3792.6 5.1;
/ A9 B2 A/ Z  j3 Q" A, K78812 2207.88 927.16  8328 20.52 69.3 71088 2964 30904 3951.64 5.21];6 E& H& v$ v# c9 ?2 ]
T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];
: e! j/ h/ a4 M[pn,minp,maxp]=premnmx(P);
$ p; D/ _! N2 `) O[tn,mint,maxt]=premnmx(T);
  ~7 [8 Q% n" |* d+ bnet=newff(minmax(pn(:,1:12)),[5,1],{'tansig','purelin'},'trainlm');: O, ~! b2 _8 a( _9 A$ Q
net=init(net);
% H$ [( u! y! c! ^+ [net.trainParam.epochs=20000;
+ v% L8 \$ Q2 `% Onet.trainParam.goal=0.0001;
; N9 ~1 E8 I  l' ^! rnet.trainParam.lr=0.05;5 _# M" U3 ~% N1 q: `4 t/ `' f( n2 a
net=train(net,pn(:,1:12),tn(1:12));5 {  ?8 q* N  I: m
t_sim=sim(net,pn);) i' G6 o) l+ [
t_sim=postmnmx(t_sim,mint,maxt)
' A3 V6 h: l! C8 \( Q- [8 a! f4 urelative_error=abs(t_sim(1:13)-T)./T+ T" _. `% q( F8 e% t, z& `4 N: c1 Q
figure(1)
; D6 _% t& M( u$ P2 A# ?i=1:1:length(t_sim);
# I" y. n7 G4 P  B) ]" _& C; A) Bj=1:length(T);
; l6 `7 f/ ^- jplot(i,t_sim,'r',j,T,'bo')
2 ~* f- y, b3 K/ ?) I: C$ xlegend('test value','true value','relative_error')
- n9 e8 C8 i9 E. |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');+ p! x! ^! E8 }: k
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