您在不同模块中加载的前三行(其余代码中依赖的库)。您加载numpy
的是一个数值库,它是一个在创建随机数并允许绘制函数numpy.random
方面做了大量工作的库。matplotlib
其余的在这里描述:
np.random.seed(123)
计算机并不会真正生成随机数,而是从一长串数字中选择一个数字(有关如何完成此操作的更正确解释http://en.wikipedia.org/wiki/Random_number_generation)。本质上,如果您想使用相同的随机数复制作品,计算机需要知道在此数字列表中的哪个位置开始选择数字。这就是这行代码的作用。如果其他人现在运行相同的代码,您最终会得到相同的“随机”数字。
u=rand.uniform(0,1,[2,10000])
这会生成两次分布在 0 和 1 之间的 10000 个随机数。这是均匀分布,因此它同样有可能获得 0 和 1 之间的任何点。(再次可以在此处找到更多信息:http ://en.wikipedia.org /wiki/Uniform_distribution_(连续) )。您正在一个数组中创建两个数组。这可以通过执行检查:len(u)
和len(u[0])
。
v=u.max(axis=0)
u.max?
iPython 中的命令将您引向文档。它基本上是选择一个最大值,轴确定如何选择最大值。尝试以下操作:
a = np.arange(4).reshape((2,2))
np.amax(a, axis=0) # gives array([2, 3])
np.amax(a, axis=1) # gives array([1, 3])
其余代码用于设置直方图。直方图中总共有 100 个 bin,条形图将显示为蓝色。直方图 y 轴上的最大高度为 2,normed 将保证每个 bin 中至少有一个样本。
我无法清楚地说明代码的真正目的或应用是什么。但这本质上就是它正在做的事情。