mdian2.txt
来自「用VB实现的数据的统计描述 包括分布的矩---均值、平均差、标准差、方差和中位」· 文本 代码 · 共 73 行
TXT
73 行
Sub MDIAN2(X(), N, XMED)
BIG = 1E+30
AFAC = 1.5
AMP = 1.5
A = 0.5 * (X(1) + X(N))
EPS = Abs(X(N) - X(1))
AP = BIG
AM = -BIG
1 Sum = 0#
SUMX = 0#
NP = 0
NM = 0
XP = BIG
XM = -BIG
For J = 1 To N
XX = X(J)
If XX <> A Then
If XX > A Then
NP = NP + 1
If XX < XP Then XP = XX
ElseIf XX < A Then
NM = NM + 1
If XX > XM Then XM = XX
End If
DUM = 1# / (EPS + Abs(XX - A))
Sum = Sum + DUM
SUMX = SUMX + XX * DUM
End If
Next J
If NP - NM >= 2 Then
AM = A
If SUMX / Sum - A < 0 Then
BBB = 0
Else
BBB = SUMX / Sum - A
End If
AA = XP + BBB * AMP
If AA > AP Then AA = 0.5 * (A + AP)
EPS = AFAC * Abs(AA - A)
A = AA
GoTo 1
ElseIf NM - NP >= 2 Then
AP = A
If SUMX / Sum - A < 0 Then
BBB = SUMX / Sum - A
Else
BBB = 0
End If
AA = XM + BBB * AMP
If AA < AM Then AA = 0.5 * (A + AM)
EPS = AFAC * Abs(AA - A)
A = AA
GoTo 1
Else
If (N Mod 2) = 0 Then
If NP = NM Then
XMED = 0.5 * (XP + XM)
ElseIf NP > NM Then
XMED = 0.5 * (A + XP)
Else
XMED = 0.5 * (XM + A)
End If
Else
If NP = NM Then
XMED = A
ElseIf NP > NM Then
XMED = XP
Else
XMED = XM
End If
End If
End If
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?