0
我必須在-1和1的範圍內生成一系列隨機數,比如說100,然後用一個值(比如2的平方根)對它們進行縮放。之後我拿這100個值和他們的總和= 0,然後用另一個值對這個總和進行縮放。檢查下面的代碼,看看我的意思。在VB.NET中生成隨機值並將它們加總爲零
Dim rand As New Random()
Dim sum As Double = 0
Dim kin As Double = 0
For j As Integer = 0 To 99
rand.NextDouble()
Console.WriteLine(" {0} ", (rand.NextDouble() * 2 - 1) * Math.Sqrt(2))
sum = sum + ((rand.NextDouble() * 2 - 1) * Math.Sqrt(2))
kin = kin + Math.Pow(sum, 2)
Next
Console.WriteLine(sum)
Console.WriteLine(kin)
我不能得到的總和等於0的隨機分佈應該是均勻的,所以總和通常會(-1,1)之間0。 sum和kin都有100個值。
最終,我試圖計算動量守恆。
'這樣你就知道隨機分佈應該是統一的,因此總和通常在0之間。它應該相當接近零,但從不「每次都是零」。有很好的變化,它不會*完全*零。 – vcsjones 2012-03-01 02:22:17
事實上,它總計爲0的理論概率是... 0.不算數學樂趣嗎? – bdares 2012-03-01 02:24:46
此外,您正在生成300個隨機數字。你應該把rand.NextDouble()的結果放入一個變量中嗎? – 2012-03-01 03:06:44