27 lines
1.0 KiB
Plaintext
27 lines
1.0 KiB
Plaintext
dim SD.storage$( 100) ' can call up to 100 versions, using ID to identify.. arrays are global.
|
|
' holds (space-separated) number of data items so far, current sum.of.values and current sum.of.squares
|
|
|
|
for i =1 to 8
|
|
read x
|
|
print "New data "; x; " so S.D. now = "; using( "###.######", standard.deviation( 1, x))
|
|
next i
|
|
|
|
end
|
|
|
|
function standard.deviation( ID, in)
|
|
if SD.storage$( ID) ="" then SD.storage$( ID) ="0 0 0"
|
|
num.so.far =val( word$( SD.storage$( ID), 1))
|
|
sum.vals =val( word$( SD.storage$( ID), 2))
|
|
sum.sqs =val( word$( SD.storage$( ID), 3))
|
|
num.so.far =num.so.far +1
|
|
sum.vals =sum.vals +in
|
|
sum.sqs =sum.sqs +in^2
|
|
|
|
' standard deviation = square root of (the average of the squares less the square of the average)
|
|
standard.deviation =( ( sum.sqs /num.so.far) - ( sum.vals /num.so.far)^2)^0.5
|
|
|
|
SD.storage$( ID) =str$( num.so.far) +" " +str$( sum.vals) +" " +str$( sum.sqs)
|
|
end function
|
|
|
|
Data 2, 4, 4, 4, 5, 5, 7, 9
|