此类包含一些不错的统计函数





3.00/5 (3投票s)
它包含一些统计函数,例如均值、方差等。
引言
附件中的类可以帮助你在项目中运用统计函数。
它包含以下函数:
1-最大值
2-最小值
3-中位数
4-众数
5-均值
6-方差
7-协方差
8-方差协方差矩阵
9-相关性
使用代码
使用这个类非常简单。只需尝试一下,然后享受它。
一些不错的特性
你有没有尝试过编写一个可以计算众数的函数?
编写这个类对我来说是一次非常好的经验。
如果你查看 (众数) 函数,你会发现它可以计算任何类型、任何维度(小于3维)的矩阵中某个元素重复出现的次数!
最后,它会找到重复次数最多的元素并将它们作为众数返回。
这是代码:
Public Shared Function Mode(ByVal InArray As Array) As Object() Dim Dimentions() As Integer = size(InArray) Dim i As Integer Dim j As Integer Dim k As Integer Dim NewInArray(InArray.Length - 1) As Object Select Case Dimentions.Length Case 1 Array.Copy(InArray, NewInArray, InArray.Length) Case 2 For i = 0 To Dimentions(0) - 1 For j = 0 To Dimentions(1) - 1 NewInArray(i * Dimentions(1) + j) = InArray(i, j) Next Next Case 3 For i = 0 To Dimentions(0) - 1 For j = 0 To Dimentions(1) - 1 For k = 0 To Dimentions(2) - 1 NewInArray(i * Dimentions(1) * Dimentions(2) + j * Dimentions(2) + k) = InArray(i, j, k) Next Next Next Case Else MsgBox("Matrix dimention must be less than 3", MsgBoxStyle.Critical, "Statistic") Return Nothing End Select Array.Sort(NewInArray) Dim Temp As Integer Dim Counter As Integer = 0 Dim ModeArray(0) As ArrayValueRepetation i = 0 While i < NewInArray.Length Temp = 0 ReDim Preserve ModeArray(Counter) For j = i To NewInArray.Length - 1 If NewInArray(i) = NewInArray(j) Then Temp += 1 ModeArray(Counter).RepeatTimes = Temp ModeArray(Counter).Value = NewInArray(i) ElseIf Temp = 1 Then ModeArray(Counter).RepeatTimes = Temp ModeArray(Counter).Value = NewInArray(i) Exit For Else Exit For End If Next Counter += 1 i = j End While Dim RepeatTimes(Counter - 1) As Integer For i = 0 To Counter - 1 RepeatTimes(i) = ModeArray(i).RepeatTimes Next Dim MaxRepeat As UInteger = Max(RepeatTimes) Dim OutVector(0) As Object Dim NumberOfModes As Integer = 0 For i = 0 To Counter - 1 If ModeArray(i).RepeatTimes = MaxRepeat Then ReDim Preserve OutVector(NumberOfModes) 'OutVector.SetValue(ModeArray(i).Value, NumberOfModes) OutVector(NumberOfModes) = ModeArray(i).Value NumberOfModes += 1 End If Next Return OutVector End Function