- 在线时间
- 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 a$ Q1 g2 j: \! H2 d; t. l9 N/ L2 B3 P. D, y0 i( o7 I
P=[27000 297.35 327.53 2658 6.31 68.3 15948 737 16316 583.89 1.96;
' z3 `8 ~# a( R+ E# F' ?30619 325.00 390.51 2763 6.94 69.6 17130 789 18600 707.67 2.28;' w9 _2 w7 F2 y3 d5 B
33282 423.00 474.63 2801 5.73 69.7 17866 894 19886 861.88 2.32;3 e8 h$ k4 `- n! d2 M8 s& t
33689 467.57 569.55 2887 7.76 69.8 18961 1015 20249 941.99 2.38;# z1 J7 b7 L; N0 `5 d" G
41020 538.17 616.25 2920 8.23 69.7 19688 1198 21626 1082.6 2.73;
M) _; \* z7 V7 b- h% U43344 832.04 686.37 3495 8.87 68.3 24465 1361 23544 1373.4 2.89;
+ O* F7 x# o% o3 b0 ~46030 941.94 788.15 3495 9.57 68.2 24814 1710 24941 1756.5 2.82;
0 ]+ d! f* @. S' r! p53887 1095.13 969.1 4885 9.65 68.7 36149 2100 25936 2199.5 3.08;# @* f% P4 J4 J& u* |- W
59271 1250.64 1092.6 5376 10.11 69.2 43008 2314 26596 2625.4 3.56;
0 D2 \6 m6 N* C1 o' M# f: r# w3 E64507 1437.67 1176.1 6091 15.05 69.2 51946 2500 28494 3229.4 3.98;
8 X& r6 ?7 h5 a* h% ~70597 1671.29 1273.7 7305 16.81 69.2 65745 2614 29628 3744.7 4.98;
5 g6 @+ |+ q1 M+ c79221 1905.03 1345 8023 18.6 69.1 70346 2798 30063 3792.6 5.1;: y% q( ?8 v4 r
78812 2207.88 927.16 8328 20.52 69.3 71088 2964 30904 3951.64 5.21];' V: E- T1 f* a, J
T=[3.1,3.6,4.2,4.8,6.7,9.1,13,18.9,29,51.1,78.2,103.5,128];8 Y2 a3 n1 i2 h, K3 J/ `# |
[pn,minp,maxp]=premnmx(P);8 g; e, l: K; G3 o. p
[tn,mint,maxt]=premnmx(T);
; a" F5 g& f* N& ^. y9 p4 c* t- lnet=newff(minmax(pn(:,1:12)),[5,1],{'tansig','purelin'},'trainlm');# S, r: B) |1 R0 t c
net=init(net);# b+ n7 x p* T n+ v
net.trainParam.epochs=20000;
, i+ I( F2 E; a0 R- Pnet.trainParam.goal=0.0001;9 G0 L. {2 i8 ^. B, ~9 P# A5 I
net.trainParam.lr=0.05;, D8 [; f8 V( g" B0 G$ X2 V
net=train(net,pn(:,1:12),tn(1:12));
$ s8 j* ?& f" q/ l6 _& A) q1 Ht_sim=sim(net,pn);- k0 n7 C2 V0 W R
t_sim=postmnmx(t_sim,mint,maxt)
* u& t5 y m; B0 j: v; T3 i; Crelative_error=abs(t_sim(1:13)-T)./T3 m" E$ }" Y% |; X {8 o
figure(1)
* [* Y/ D: V. U0 E. k; N, m" si=1:1:length(t_sim);
; {+ c. O- N, [! Ej=1:length(T);( Y. h- d& R4 F: l! g; f# Y1 m
plot(i,t_sim,'r',j,T,'bo')
" e- b# d6 V' W! Ulegend('test value','true value','relative_error')& Y7 i3 [5 A/ y& A4 _6 {- o. b
title('result compare between test value and true value') |
zan
|