-1と1の範囲で一連の乱数、たとえば100を生成し、2の平方根などの値でそれらをスケーリングする必要があります。その後私はそれらの100個の値とその合計= 0をとります。そして、その合計を別の値でスケーリングします。私が何を意味するかを確認するには、以下のコードをチェックしてください。ランダム値を生成してVB.NETでそれらを0に加算する
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)
Iは、ランダム分布が均一であると想定されるので、加算は、通常(-1,1)との間に0になり0に等しくなるように和を得ることができません。 sumとkinの両方に100の値があります。
最終的に、私は勢いの保存を計算しようとしています。
'ランダムな分布は均一であると考えられますので、合計は通常0になります。それはゼロにかなり近いはずですが、毎回ゼロになることはありません。正確にはゼロではない良い変化があります。 – vcsjones
実際、0に合計する理論的確率は... 0です。数学は楽しいものではありませんか? – bdares
また、300個の乱数を生成しています。 rand.NextDouble()の結果を変数に配置する必要がありますか? –