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)")