你好,你这个代码其中问题很多。注意到你的heavy_wayfact中的数据初始时全部为零。
. H: y j% C1 R& N+ \* p9 y- int s = duniform(1,7);# X0 W. C! T' ], j
- Table L_way = Table("heavy_way");
* a1 c" m8 H7 b$ D9 v: u - Table L_factway = Table("heavy_wayfact");1 }5 \9 w i3 T0 a ?
4 ~8 {# k' m! Z0 A6 ^ x- int x = 0;
& s; z' p& T3 Y4 T5 s; k/ X4 P2 R9 s - int index =0;
% o- H: f, k/ j- F0 i( U u/ A) S - double m = 0;
' g3 i3 e! E) h& x - for(int i=1;i<L_way.numRows;i++)
1 u! H5 z- P) J - {9 T, G H; A! ]3 d3 _3 |
- double flowrate = L_way[i][s];. l, L/ Z) X B7 P1 G6 _
- double lfact = L_factway[i][s]; // 每次你这样都是为0,因为你没改变过0 }7 z' v n8 l: T' @" k, m, f8 Q
- if(flowrate!=0) // 找到非0值* A7 |; o6 W' E+ @$ }
- {
8 K7 q* @5 d1 u) c - index++;
& ?$ m+ x; |6 s0 e - if(index==1) // 当找到第一个flowrate值不为09 g7 f! g0 v1 v# B3 ?
- {
) G0 @( s( Q( K# v- q; t0 `3 L! @ - x=i;4 u9 w" \2 Z" u. J- I3 |
- m=lfact/flowrate; // m还是0,因为lfact始终为0" Y5 R, T! a9 t G! q
- }) x4 P) f# q' E% U* [1 H( o
- if(m>lfact/flowrate) // 所以这个条件始终是没用的5 d7 i L) P) h: Q' c1 D1 y' v
- {
+ ~$ s3 c. ~4 u& L! @ - x=i;
1 @6 W: T6 }' ^- c - m=lfact/flowrate;
4 o/ x$ w1 ~9 x+ c8 _ - }3 ~& @" u0 a* `& [
- }- F7 }5 B8 Q5 F, I
- }
复制代码 |