- 在线时间
- 3 小时
- 最后登录
- 2017-7-6
- 注册时间
- 2009-8-27
- 听众数
- 6
- 收听数
- 0
- 能力
- 0 分
- 体力
- 123 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 56
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 39
- 主题
- 2
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   53.68% 该用户从未签到
 |
以下是一段BP神经网络的代码,为什么运行时总是出现Index exceeds matrix dimensions的错误提示,麻烦哪位大侠帮忙下...
5 b* C3 h/ l* m9 p6 o1 N6 z: i# ^- |. z% @
P=[27000 297.35 327.53 2658 6.31 68.3 15948 737 16316 583.89 1.96;+ H# `( `! `6 l# W! D7 v
30619 325.00 390.51 2763 6.94 69.6 17130 789 18600 707.67 2.28;3 O5 P9 A. m* [9 J
33282 423.00 474.63 2801 5.73 69.7 17866 894 19886 861.88 2.32;7 c5 ^( a$ B& t4 D/ U- W& b9 R
33689 467.57 569.55 2887 7.76 69.8 18961 1015 20249 941.99 2.38;
" R% j& c' b- [" G41020 538.17 616.25 2920 8.23 69.7 19688 1198 21626 1082.6 2.73;1 n- R# X2 A# A1 Z, X
43344 832.04 686.37 3495 8.87 68.3 24465 1361 23544 1373.4 2.89;% v- H2 D0 w- ]; W e2 N9 A. U* X
46030 941.94 788.15 3495 9.57 68.2 24814 1710 24941 1756.5 2.82;
0 Y% A. m- n; Z [3 [8 W$ F7 [9 ^- N3 {* S2 V53887 1095.13 969.1 4885 9.65 68.7 36149 2100 25936 2199.5 3.08;
4 \4 b) l& L# x" z! z& k$ [5 p59271 1250.64 1092.6 5376 10.11 69.2 43008 2314 26596 2625.4 3.56;. l4 J1 u0 l; `6 u. i& f
64507 1437.67 1176.1 6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
/ C( J* @9 a+ q& K0 z70597 1671.29 1273.7 7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
1 {' b2 n3 Q& p1 X# j79221 1905.03 1345 8023 18.6 69.1 70346 2798 30063 3792.6 5.1;
, L& ^% f _& J* W78812 2207.88 927.16 8328 20.52 69.3 71088 2964 30904 3951.64 5.21];
: }- E" M: ]7 m# `1 B$ l$ |T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];: T6 B/ @; O' K
[pn,minp,maxp]=premnmx(P);
) \) C9 L; z/ g; P" |[tn,mint,maxt]=premnmx(T);
( _# K7 M0 U3 v" g& v2 m" ynet=newff(minmax(pn(:,1:12)),[5,1],{'tansig','purelin'},'trainlm'); v$ o; n) z# F1 z/ A
net=init(net);2 X2 |: V( ^0 ~2 ~6 M2 ?) t
net.trainParam.epochs=20000;
: l! h1 c5 ^( g6 \net.trainParam.goal=0.0001;) _# J, i) Z" V c# E
net.trainParam.lr=0.05;# W' D: d i: j% ^
net=train(net,pn(:,1:12),tn(1:12));
+ j, t/ c- v$ A0 a: wt_sim=sim(net,pn);' _, c7 B2 M, w2 t
t_sim=postmnmx(t_sim,mint,maxt)
9 w& P+ ]5 E7 S4 q: Lrelative_error=abs(t_sim(1:13)-T)./T
" X: Y2 X6 e6 kfigure(1)
7 E! J1 h* I) \2 u( @i=1:1:length(t_sim);& e" X) J6 [7 a0 f- H8 B
j=1:length(T);
- ^# `2 I( Q# s% Dplot(i,t_sim,'r',j,T,'bo')
4 J* ?/ Y& G( j9 V7 i5 N) alegend('test value','true value','relative_error')
/ v8 y9 I' M6 S9 N# ltitle('result compare between test value and true value') |
zan
|