⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 二项式分布m.bas

📁 <VB数理统计实用算法>书中的算法源程序
💻 BAS
字号:
Attribute VB_Name = "modMethod"
Option Explicit
'计算符合二项式分布事件的概率
'n:试验次数
'p:一次试验中事件A出现的概率
'x:n次试验中事件A出现的次数
'Bin:事件A出现x次的概率
Public Sub Bino(n As Integer, p As Single, x As Integer, bin As Double)
    Dim Q As Single, NN As Double, NI As Double, M As Double
    Dim I As Integer, C As Double
    Q = 1 - p
    If x = 0 Then
        bin = Q ^ n
        Exit Sub
    End If
    NN = 0
    For I = 1 To n
        NN = NN + Log(I)
    Next I                                              'NN = n!
    M = 0
    For I = 1 To x
        M = M + Log(I)
    Next I                                              'x!
    NI = 0
    For I = 1 To n - x
        NI = NI + Log(I)
    Next I                                              '(n-x)!
    C = NN - M - NI
    C = C + Log(p ^ x) + Log(Q ^ (n - x))
    bin = Exp(C)
End Sub

'计算二项式分布函数
'n:试验次数
'p:一次试验中事件A出现的概率
'x:事件A出现的次数
'A(1,0 To x):事件概率
'A(2,0 To x):下侧概率,即分布函数
'A(3,0 To x):上侧概率
Public Sub ABino(n As Integer, p As Single, x As Integer, A() As Double)
    Dim y As Integer, B As Double
    B = 0
    For y = 0 To x
        Bino n, p, y, A(1, y)
        B = B + A(1, y)
        If B > 1 Then B = 1
        A(2, y) = B
        A(3, y) = 1 - B
    Next y
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -