你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。
6 \0 r$ Y! t& ?1 X( E- int s = duniform(1,7);
3 L: E+ k" J9 M. x# @ - Table L_way = Table("heavy_way");; f, N2 U* ]8 ~
- Table L_factway = Table("heavy_wayfact");1 h* e& V6 E& B7 M ]+ }
- - ?0 [, i) m6 g8 N
- int x = 0;6 f. c% F7 N! W$ x
- int index =0;4 W5 T9 I2 O/ L: w) k- n
- double m = 0;
% g( Y0 z. G3 m1 l5 R - for(int i=1;i<L_way.numRows;i++)
1 k5 f) m4 T5 ^7 U$ V; b - {; e3 _! X v& D; r1 n# E1 O
- double flowrate = L_way[i][s];
8 d3 P9 ?7 U( I# r. M5 d% s: s1 h# ~( E# p, G - double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过) y# h9 q1 m% D7 H" S
- if(flowrate!=0) // 找到非0值4 {$ x/ Y! v' m7 A+ j
- {. g4 x1 r1 U1 n9 R/ O8 {
- index++;8 ?' {# I+ J4 {! V0 L4 d, X3 d7 H
- if(index==1) // 当找到第一个flowrate值不为00 i0 V' E( y& y
- {. Q3 I& N- x/ \4 Z; ~( x2 U: u8 \) ]
- x=i;7 @. ~7 M; X9 i5 K, n
- m=lfact/flowrate; // m还是0,因为lfact始终为0
+ t8 \3 W# Z, d; G: w/ a6 _8 W - }
9 s6 i# r6 i' S- l - if(m>lfact/flowrate) // 所以这个条件始终是没用的- L# C8 Y& A3 q5 y
- {
3 B* O2 x5 W/ O, g5 q2 c6 y - x=i;& g R. W. O/ {, I2 a- V
- m=lfact/flowrate;
4 j) g' c, R( \' U6 s+ W - }
) r: g# Y, N0 ^ k2 a: C2 V - }
, k, s0 l4 g5 i, g - }
复制代码 |