Print results statistics numerically
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Sat May 23 17:57:09 2009 +0100 (8 months ago)
changeset 39998ec1cdba4b24
parent 3998 1d2191c24f56
child 4000 f9f0bb3e3272
Print results statistics numerically
utils/flowmon/plot.py
     1.1 --- a/utils/flowmon/plot.py	Sat May 23 17:56:10 2009 +0100
     1.2 +++ b/utils/flowmon/plot.py	Sat May 23 17:57:09 2009 +0100
     1.3 @@ -7,6 +7,7 @@
     1.4      from xml.etree import ElementTree
     1.5  import bz2
     1.6  from array import array
     1.7 +import math
     1.8  
     1.9  class ConfidenceValue(object):
    1.10  
    1.11 @@ -112,10 +113,22 @@
    1.12      histograms(results)
    1.13  
    1.14  
    1.15 +def mean(l):
    1.16 +    return sum(l)/len(l)
    1.17 +
    1.18 +def stddev(l):
    1.19 +    m = mean(l)
    1.20 +    v = 0
    1.21 +    for x in l:
    1.22 +        v += (x - m)**2
    1.23 +    return math.sqrt(v)
    1.24 +
    1.25 +
    1.26  def histograms(results):
    1.27      num_nodes_side_set = list(set(sim.num_nodes_side for sim in results.simulations))
    1.28      num_nodes_side_set.sort()
    1.29      num_nodes_side = num_nodes_side_set[-1]
    1.30 +    print "num_nodes: ", num_nodes_side**2
    1.31  
    1.32      delays = array('d')
    1.33      losses = array('d')
    1.34 @@ -134,8 +147,10 @@
    1.35                  rx_bitrates.append(flow.rxBitrate)
    1.36              tx_bitrates.append(flow.txBitrate)
    1.37  
    1.38 -    print "Mean Tx bitrate: ", repr(sum(tx_bitrates) / len(tx_bitrates))
    1.39 -    print "Mean Rx bitrate: ", repr(sum(rx_bitrates) / len(rx_bitrates))
    1.40 +    print "Tx bitrate: mean=%r, stddev=%r" % (mean(tx_bitrates), stddev(tx_bitrates))
    1.41 +    print "Rx bitrate: mean=%r, stddev=%r" % (mean(rx_bitrates), stddev(rx_bitrates))
    1.42 +    print "Delays: mean=%r, stddev=%r" % (mean(delays), stddev(delays))
    1.43 +    print "Losses: mean=%r, stddev=%r" % (mean(losses), stddev(losses))
    1.44  
    1.45      pylab.subplot(221)
    1.46      pylab.xlabel("Delay (s)")