高斯分布,也称正态分布,又称常态分布,记为N(μ,σ^2),其中μ,σ^2为分布的参数,分别为高斯分布的期望和方差。当有确定值时,p(x)也就确定了,特别当μ=0,σ^2=1时,X的分布为标准正态分布。
NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。
numpy.random.randn(row, col)是从标准正态分布中返回一个或多个样本值。
numpy.random.rand(row, col)的随机样本位于[0, 1)中。
random.seed(0)作用:使得随机数据可预测,即只要seed的值一样,后续生成的随机数都一样。
画直方图:
matplotlib.pyplot.hist(
x, bins=10, range=None, normed=False, color=None, label=None)
x : 这个参数是指定每个bin(箱子)分布的数据,对应x轴
bins : 这个参数指定bin(箱子)的个数,也就是总共有几条条状图
normed : boolean, optional,这个参数指定密度,也就是每个条状图的占比例比,默认为1,y轴值的比例
color : 这个指定条状图的颜色
你可以多次使用figure命令来产生多个图,其中,图片号按顺序增加。
plt.figure(1) 子图只需要创建一次或者序号相同创建
#coding:utf-8
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import numpy as np
def histFigure():
mu, sigma = 0, 1
sampleNo = 100000
np.random.seed(0)
s = np.random.normal(mu, sigma, sampleNo)
plt.hist(s, bins=100, normed=True, color="green")
plt.xlabel("x")
plt.ylabel("y")
plt.text(-4, 0.30, r'$\mu=0,\ \sigma=1$')#在x轴-4, y轴0.30开始加入说明
plt.title("title of relationship of x and y")
plt.show()
def subFigure():
x = np.arange(-5.0, 5.0, 0.02)
y1 = np.sin(x)
plt.figure(1)
plt.subplot(211)
plt.axis([-5, 5, -2, 2])#设置x,y坐标范围
plt.xlim((-3, 3))#另一种设置坐标区间的方法
plt.plot(x, y1)
plt.subplot(212)
#设置x轴范围
plt.xlim(-2.5, 2.5)
#设置y轴范围
plt.ylim(-1, 1)
plt.plot(x, y1)
plt.show()
def mulFigure():
x = np.arange(0, 5, 0.2)
y1 = x
y2 = x**2 #平方
y3 = x**3
plt.plot(x, y1, 'r.', label="x")
plt.plot(x, y2, 'bs', label="x^2")
plt.plot(x, y3, 'g^', label="x^3")
plt.legend(loc="upper left")
plt.show()
def scatterFigure():
x = np.random.uniform(1, 10, size=(1, 10))
y = np.random.uniform(1, 10, size=(1, 10))
print x
print y
plt.scatter(x, y, color = 'blue')
plt.plot(x, y, color = 'green')
plt.show()
scatterFigure()