该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
第一次运行的时间求得的P(k)是,
0.0000119745487820.0004644818594930.0042427296879390.0006561408853980.0015589258814470.0015708230552350.0002846199000170.0000748960121980.0000357626950110.0000194247820890.0058667659009390.0003448476044930.000332897616220.0001546313296690.000004004676920.0032226653684290.0330007093260830.0119241521645930.2040903787522840.4310048039490930.003622235921680.0008336469787750.0284469212503290.2637571989888720.0015169941893350.0005024888787610.0002134611250120.0007551191710210.001311655863250.000174641636634
然后它把每一项都变成前N项的和,Pcum=cumsum(P);
0.0000119745487820.0004764564082750.0047191860962140.0053753269816110.0069342528630590.0085050759182930.008789695818310.0088645918305080.0089003545255190.0089197793076080.0147865452085470.015131392813040.015464290429260.015618921758930.015622926435850.0188455918042790.0518463011303620.0637704532949550.2678608320472390.6988656359963320.7024878719180120.7033215188967870.7317684401471160.9955256391359880.9970426333253220.9975451222040840.9977585833290950.9985137025001160.9998253583633661
然后再Select=find(Pcum>=rand);
Pcum中每个元素都是求和求来的,即使是在第K个城市处P(k)很小,但是在Pcum(k)也一定是大于Pcum(k-1)的,由于rand是随机的,也就导致Select所找到的Pcum中第一个元素的位置是随机的,而不管该元素所对应的P(k)有多小,然后它就按照这个位置走下去了,在这个过程中我看不出P(k)高的城市会有较高的概率被选择