?? 平均數檢驗f2.frm
字號:
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 4080
TabIndex = 24
Top = 3480
Width = 1575
End
Begin VB.Label lblD
Alignment = 2 'Center
Appearance = 0 'Flat
AutoSize = -1 'True
BackColor = &H80000005&
BorderStyle = 1 'Fixed Single
BeginProperty Font
Name = "楷體_GB2312"
Size = 15.75
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 345
Left = 3720
TabIndex = 23
Top = 5040
Width = 225
End
Begin VB.Label Label11
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "檢驗結論"
BeginProperty Font
Name = "隸書"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 615
Left = 2280
TabIndex = 22
Top = 4440
Width = 3015
End
Begin VB.Label Label10
Alignment = 1 'Right Justify
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "給定顯著性水平下的臨界值:"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 1200
TabIndex = 21
Top = 3960
Width = 2895
End
Begin VB.Label Label9
Alignment = 1 'Right Justify
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "檢驗值:"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 375
Left = 2280
TabIndex = 20
Top = 3600
Width = 1815
End
Begin VB.Label Label8
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "顯著性水平(通常為 0.05 或 0.01)"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 3480
TabIndex = 19
Top = 2640
Width = 3735
End
Begin VB.Label Label7
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第2樣本數"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 5640
TabIndex = 18
Top = 1920
Width = 1335
End
Begin VB.Label Label6
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第1樣本數"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 3720
TabIndex = 17
Top = 1920
Width = 1215
End
Begin VB.Label Label3
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第2樣本平均數"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 5520
TabIndex = 16
Top = 720
Width = 1575
End
Begin VB.Label Label2
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "第1樣本平均數"
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 255
Left = 3600
TabIndex = 15
Top = 720
Width = 1455
End
Begin VB.Label Label1
Alignment = 2 'Center
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "原假設"
BeginProperty Font
Name = "隸書"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H80000008&
Height = 495
Left = 240
TabIndex = 11
ToolTipText = "一般情況下C為0,如果原假設為u1-u2<=3,這時C應理解為3"
Top = 600
Width = 2055
End
End
Attribute VB_Name = "frmTwo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'平均數假設檢驗
Option Explicit
Private Sub Form_Load()
Label9.Visible = False: Label10.Visible = False
Label11.Visible = False: lblZ.Visible = False
lblZQ.Visible = False: lblD.Visible = False
Line1.Visible = False: cmdRenew.Visible = False
End Sub
'計算
Private Sub cmdCheck_Click()
'u1和u2是總體平均值,x1和x2是樣本平均值
Dim u1 As Single, u2 As Single, x1 As Single, X2 As Single
'd1和d2是標準差,總體標準差都用正數
'用樣本標準差代替總體標準差時,若有共同的總體標準差則填正數,否則填負數
'n1和n2是樣本數
Dim d1 As Single, d2 As Single, n1 As Integer, n2 As Integer
'Q是顯著性水平
Dim Q As Double, d As Single, n As Integer
'Z是檢驗值,ZQ是臨界值
Dim Z As Double, ZQ As Double, df1 As Double, df2 As Double
Dim sngZ As Single, sngZQ As Single
Label9.Visible = True: Label10.Visible = True
Label11.Visible = True: lblZ.Visible = True
lblZQ.Visible = True: lblD.Visible = True
Line1.Visible = True: cmdRenew.Visible = True
u1 = Val(txtU1): u2 = Val(txtU2)
x1 = Val(txtX1): X2 = Val(txtX2)
d1 = Val(txtD1): d2 = Val(txtD2)
n1 = Val(txtN1): n2 = Val(txtN2)
Q = Val(txtQ)
'原假設為H0:u1=u2的情況屬于雙尾檢測,其余兩種情況都是單尾檢測
'即Option1所代表的情況屬于雙尾檢測,Option2和Option3都是單尾檢測
If Option1.Value = True Then Q = Q / 2 '雙尾檢測
'無論有無總體標準差,當總體標準差相等時,d1 > 0 和 d2 > 0
'不等時,d1 < 0 和 d2 < 0
If n1 > 17 And n2 > 17 Then '大樣本
If d1 > 0 And d2 > 0 Then '有相同的總體標準差
Z = ((x1 - X2) - (u1 - u2)) / Sqr(d2 ^ 2 / n1 + d1 ^ 2 / n2)
Else '有不同的總體標準差
Z = ((x1 - X2) - (u1 - u2)) / Sqr(d1 ^ 2 / n1 + d2 ^ 2 / n2)
End If
Else '小樣本
If d1 > 0 And d2 > 0 Then
d = Sqr(((n1 - 1) * d1 ^ 2 + (n2 - 1) * d ^ 2) / (n1 + n2 - 2))
Z = ((x1 - X2) - (u1 - u2)) / (d * Sqr(1 / n1 + 1 / n2))
Else
Z = ((x1 - X2) - (u1 - u2)) / Sqr(d1 ^ 2 / n1 + d2 ^ 2 / n2)
End If
End If
sngZ = Z '檢驗值
lblZ = sngZ
'大樣本時求正態分布的分位數,小樣本時求t分布的分位數
If n1 > 17 And n2 > 17 Then
PNorm Q, ZQ
Else
If d1 > 0 And d2 > 0 Then n = n1 + n2 - 2 '相同的總體標準差
If d1 < 0 And d2 < 0 Then '不同的總體標準差
df1 = (d1 ^ 2 / (n1 - 1) + d2 ^ 2 / (n2 - 1)) ^ 2
df2 = 1 / (n1 + 1) * (d1 ^ 2 / (n1 - 1)) ^ 2 + 1 / (n2 + 1) * (d2 ^ 2 / (n2 - 1)) ^ 2
n = Int(df1 / df2 - 2 + 0.5)
End If
PT_DIST n, Q, ZQ
End If
ZQ = Sgn(Z) * ZQ '臨界值
sngZQ = ZQ
lblZQ = sngZQ
If Abs(Z) > Abs(ZQ) Then
lblD = "拒絕H0,接受H1"
Else
lblD = "接受H0,拒絕H1"
End If
End Sub
'重作
Private Sub cmdRenew_Click()
Label9.Visible = False: Label10.Visible = False
Label11.Visible = False: lblZ.Visible = False
lblZQ.Visible = False: lblD.Visible = False
Line1.Visible = False
txtU1 = "": txtU2 = "": txtX1 = "": txtX2 = ""
txtD1 = "": txtD2 = "": txtN1 = "": txtN2 = ""
txtQ = ""
End Sub
'退出
Private Sub cmdExit_Click()
Unload Me
End
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -