- 帖子
- 22
- 主題
- 17
- 精華
- 0
- 積分
- 51
- 點名
- 0
- 作業系統
- wiindows
- 軟體版本
- Office 2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 新北
- 註冊時間
- 2021-6-21
- 最後登錄
- 2022-1-4
|
Option Explicit
Sub Main()
Dim x, F
For x = 1 To 5
Norm x, F '調用計算常態分佈函數的副程式
Debug.Print "常態偏離點 x =", x, "下側概率 F =", F
Next x
For x = -1 To -5 Step -1
Norm x, F '調用計算常態分佈函數的副程式
Debug.Print "常態偏離點 x =", x, "下側概率 F =", F
Next x
End Sub
'計算常態分佈函數
'x:常態偏離點
'F:下側概率
Public Sub Norm(x, F)
Dim y As Double, ER As Double, Q As Double
Dim A
Const a1 As Double = 0.0705230784
Const a2 As Double = 0.0422820123
Const a3 As Double = 0.0092705272
Const a4 As Double = 0.0001520143
Const a5 As Double = 0.0002765672
Const a6 As Double = 0.0000430638
y = 0.707106781187 * Abs(x)
A = a4 + y * (a5 + y * a6)
A = a3 + y * A
A = a2 + y * A
A = a1 + y * A
ER = 1 - (1 + y * A) ^ (-16)
Q = 0.5 * ER
If x < 0 Then F = 0.5 - Q Else F = 0.5 + Q
End Sub |
|