author | Tom Henderson <tomh@tomh.org> |
Mon, 03 Jan 2011 13:50:19 -0800 | |
changeset 6763 | c394af07802d |
parent 6722 | cc6b9c4fc9e8 |
permissions | -rw-r--r-- |
6722
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
1 |
# -*- Mode:Python; -*- |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
2 |
# /* |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
3 |
# * This program is free software; you can redistribute it and/or modify |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
4 |
# * it under the terms of the GNU General Public License version 2 as |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
5 |
# * published by the Free Software Foundation |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
6 |
# * |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
7 |
# * This program is distributed in the hope that it will be useful, |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
8 |
# * but WITHOUT ANY WARRANTY; without even the implied warranty of |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
9 |
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
10 |
# * GNU General Public License for more details. |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
11 |
# * |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
12 |
# * You should have received a copy of the GNU General Public License |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
13 |
# * along with this program; if not, write to the Free Software |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
14 |
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
15 |
# */ |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
16 |
|
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
17 |
# Demonstrate use of ns-3 as a random number generator integrated with |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
18 |
# plotting tools; adapted from Gustavo Carneiro's ns-3 tutorial |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
19 |
|
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
20 |
import numpy as np |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
21 |
import matplotlib.pyplot as plt |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
22 |
import ns3 |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
23 |
|
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
24 |
# mu, var = 100, 225 |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
25 |
rng = ns3.NormalVariable(100.0, 225.0) |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
26 |
x = [rng.GetValue() for t in range(10000)] |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
27 |
|
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
28 |
# the histogram of the data |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
29 |
n, bins, patches = plt.hist(x, 50, normed=1, facecolor='g', alpha=0.75) |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
30 |
|
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
31 |
plt.title('ns-3 histogram') |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
32 |
plt.text(60, .025, r'$\mu=100,\ \sigma=15$') |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
33 |
plt.axis([40, 160, 0, 0.03]) |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
34 |
plt.grid(True) |
cc6b9c4fc9e8
add sample rng plotting program for tutorial
Tom Henderson <tomh@tomh.org>
parents:
diff
changeset
|
35 |
plt.show() |