Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,42 @@
|
|||
sdacc = .SDAccum~new
|
||||
x = .array~of(2,4,4,4,5,5,7,9)
|
||||
sd = 0
|
||||
do i = 1 to x~size
|
||||
sd = sdacc~value(x[i])
|
||||
Say '#'i 'value =' x[i] 'stdev =' sd
|
||||
end
|
||||
|
||||
::class SDAccum
|
||||
::method sum attribute
|
||||
::method sum2 attribute
|
||||
::method count attribute
|
||||
::method init
|
||||
self~sum = 0.0
|
||||
self~sum2 = 0.0
|
||||
self~count = 0
|
||||
::method value
|
||||
expose sum sum2 count
|
||||
parse arg x
|
||||
sum = sum + x
|
||||
sum2 = sum2 + x*x
|
||||
count = count + 1
|
||||
return self~stddev
|
||||
::method mean
|
||||
expose sum count
|
||||
return sum/count
|
||||
::method variance
|
||||
expose sum2 count
|
||||
m = self~mean
|
||||
return sum2/count - m*m
|
||||
::method stddev
|
||||
return self~sqrt(self~variance)
|
||||
::method sqrt
|
||||
arg n
|
||||
if n = 0 then return 0
|
||||
ans = n / 2
|
||||
prev = n
|
||||
do until prev = ans
|
||||
prev = ans
|
||||
ans = ( prev + ( n / prev ) ) / 2
|
||||
end
|
||||
return ans
|
||||
Loading…
Add table
Add a link
Reference in a new issue