本帖最后由 金圭子 于 2014-11-26 14:17 编辑  
 
嗯,做了个模拟正太分布(好吧,翻了下百度发现“指数律”这个名字好像不是人家的学名,人家叫“正态分布”,当然前面那个是我故意写错的囧), 
跑了下果然还是很符合我预测的: 
 
(我不会隐藏,就直接显示啦) 
 
 
 
 
Private Sub Command4_Click()   Me.Cls   Dim x As Single   Dim i As Integer, a As Integer   Dim arr(500) As Integer   Me.DrawWidth = 2   For i = 1 To 30000     Randomize     x = Rnd * 1000 + Rnd * 1000 + Rnd * 1000 + Rnd * 1000 + Rnd * 1000     a = Math.Round(x / 10)     arr(a) = arr(a) + 1     Me.PSet (a * 10, 5000 - arr(a) * 10)   Next End Sub 
 
 Private Sub Command4_Click()  
  Me.Cls  
  Dim x As Single  
  Dim i As Integer, a As Integer  
  Dim arr(500) As Integer  
  Me.DrawWidth = 2  
  For i = 1 To 30000  
    Randomize  
    x = Rnd * 1000 + Rnd * 1000 + Rnd * 1000 + Rnd * 1000 + Rnd * 1000  
    a = Math.Round(x / 10)  
    arr(a) = arr(a) + 1  
    Me.PSet (a * 10, 5000 - arr(a) * 10)  
  Next  
End Sub  
 
  
(好吧,上面公布了Command2,我这里就改成Command4吧,不过图我懒得换了,自己领悟吧) 
 
再来个Command5: 
 
 
 
 
Private Sub Command5_Click()   Me.Cls   Dim x As Single   Dim i As Integer, a As Integer   Dim arr(500) As Integer   Me.DrawWidth = 2   For i = 1 To 30000     Randomize     x = Rnd * 5000     a = Math.Round(x / 10)     arr(a) = arr(a) + 1     Me.PSet (a * 10, 5000 - arr(a) * 10)   Next End Sub 
 
 Private Sub Command5_Click()  
  Me.Cls  
  Dim x As Single  
  Dim i As Integer, a As Integer  
  Dim arr(500) As Integer  
  Me.DrawWidth = 2  
  For i = 1 To 30000  
    Randomize  
    x = Rnd * 5000  
    a = Math.Round(x / 10)  
    arr(a) = arr(a) + 1  
    Me.PSet (a * 10, 5000 - arr(a) * 10)  
  Next  
End Sub  
 
  |