VBA 二項分布の生成
Sub 二項分布()
Dim n As Integer
Dim X_n As Double
Dim X_bar() As Double
Dim i As Integer
Dim j As Integer
Dim p As Single
Dim a As Double
p = 0.2 '確率
a = 999
ReDim X_bar(a)
For n = 1 To 1000 'ここでは試行回数そのものを変える
X_n = 0 'いったんリセット
For i = 1 To n '試行を繰り返す
a = Rnd
If a < p Then
X_n = 1 + X_n 'X_niは1か0だけなので、ここで足し算することでプログラムを短くできる。
End If
Next i
X_bar(n - 1) = X_n / n
Next n
For i = 1 To 1000
Cells(i + 1, 3).Value = p
Cells(i + 1, 2).Value = X_bar(i - 1)
Cells(i + 1, 1).Value = log(i)
Next i
End Sub