Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,50 @@
|
|||
Function avg(what() As Variant) As Variant
|
||||
'treats non-numeric strings as zero
|
||||
Dim L0 As Variant, total As Variant
|
||||
For L0 = LBound(what) To UBound(what)
|
||||
If IsNumeric(what(L0)) Then total = total + what(L0)
|
||||
Next
|
||||
avg = total / (1 + UBound(what) - LBound(what))
|
||||
End Function
|
||||
|
||||
Function standardDeviation(fp As Variant) As Variant
|
||||
Static list() As Variant
|
||||
Dim av As Variant, tmp As Variant, L0 As Variant
|
||||
|
||||
'add to sequence if numeric
|
||||
If IsNumeric(fp) Then
|
||||
On Error GoTo makeArr 'catch undimensioned list
|
||||
ReDim Preserve list(UBound(list) + 1)
|
||||
On Error GoTo 0
|
||||
list(UBound(list)) = fp
|
||||
End If
|
||||
|
||||
'get average
|
||||
av = avg(list())
|
||||
|
||||
'the actual work
|
||||
For L0 = 0 To UBound(list)
|
||||
tmp = tmp + ((list(L0) - av) ^ 2)
|
||||
Next
|
||||
tmp = Sqr(tmp / (UBound(list) + 1))
|
||||
|
||||
standardDeviation = tmp
|
||||
|
||||
Exit Function
|
||||
makeArr:
|
||||
If 9 = Err.Number Then
|
||||
ReDim list(0)
|
||||
Else
|
||||
'something's wrong
|
||||
Err.Raise Err.Number
|
||||
End If
|
||||
Resume Next
|
||||
End Function
|
||||
|
||||
Sub tester()
|
||||
Dim x As Variant
|
||||
x = Array(2, 4, 4, 4, 5, 5, 7, 9)
|
||||
For L0 = 0 To UBound(x)
|
||||
Debug.Print standardDeviation(x(L0))
|
||||
Next
|
||||
End Sub
|
||||
Loading…
Add table
Add a link
Reference in a new issue