频数统计m2(bas模块modm).bas

来自「这个程序」· BAS 代码 · 共 31 行

BAS
31 行
字号
Attribute VB_Name = "modM"
'频数统计算法
Option Explicit
'P(1 To 样本数,1 To 2):原始数据
'S(1 To 分组数,1 To 2):频段的端点
'R(1 To 分组数,1 To 2):频数统计结果
Public Sub FreFuzz(P, S, R)
    Dim I As Integer, J As Integer, L As Integer
    Dim M As Integer, N As Integer
    Dim P1 As Single, P2 As Single, P0 As Single
    Dim S1 As Single, S2 As Single
'根据数组求下标的上界
'M是数据的样本数
'N是频段的组数
    M = UBound(P, 1): N = UBound(S, 1)
'统计频数
    For I = 1 To M
        P1 = P(I, 1): P2 = P(I, 2)
        For P0 = P1 To P2   '以1为步长,如果步长不等于1需要填“Step 步长”
            For L = 1 To N
                S1 = S(L, 1): S2 = S(L, 2)
                If P0 >= S1 And P0 < S2 Then R(L, 1) = R(L, 1) + 1
            Next L
        Next P0
    Next I
'求相对频数
    For L = 1 To N
        R(L, 2) = R(L, 1) / M
    Next L
End Sub

⌨️ 快捷键说明

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