python高斯噪声_python随机数组,高斯噪声,多项式函数

在前面的numpy的学习中忽略了这几个重要的知识点,导致今天做作业异常的艰难。现在十分必要将它记录下来。

1.np.random.*必须的是一个非常强的命令啊。不仅可以产生随机数(包括随机整数,实数;一维的,二维的等等),还可以产生正态分布的数(既可以用它来产生 扰动或者是高斯噪声 )。

(1) numpy.random. rand ( d0 , d1 , … , dn ) shape为: (d0, d1, …, dn)

(2) numpy.random. normal ( loc=0.0 , scale=1.0 , size=None )loc 均值,scale 标准差,size大小。

>>>mu, sigma = 0, 0.1>>>s = np.random.normal(mu, sigma, 1000)

>>>abs(mu - np.mean(s)) < 0.01True

>>>abs(sigma - np.std(s, ddof=1)) < 0.01True

Display the histogram of the samples, along with the probability density function:

>>>import matplotlib.pyplot as plt>>>count, bins, ignored = plt.hist(s, 30, normed=True)>>>plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *... np.exp( - (bins - mu)**2 / (2 * sigma**2) ),... linewidth=2, color='r')>>>plt.show()

(3) numpy.random. uniform ( low=0.0 , high=1.0 , size=1 ) 均匀分布一样的。

(4)多项式函数

p=np.poly1d(a),其中,a是多项式由高次到0次方的系数。

>>> a

array([ 0.97712037, -1.39644265, -0.96801519,  0.97348607,  0.4140714 ])

>>> p=np.poly1d(a)

>>> type(p)

还有一个可以用来做多项式拟合的函数:np.polyfit()

常用总结:

1,np.random.random(10)随机生成一个10个值(值的大小为0~1)的一维数组;

2,np.random.rand(10,10)随机生成一个10*10(值的大小为0~1)的二维数组(还可以是任意维数组);

3 , n p.random.randint(1,10,(4,5)) 随机生成一个 4*5(值的大小为1~10)的 数组(还可以为某个范围内的任意维数组); 用 b = arange(20).reshape(4,5) 也可以达到这个效果。

4,np.random.randn(2,3)从 标准正态分布 中产生一个2*3的数组。

5,np.random.normal(2,0.5,(2,3))产生的是一个2*3的高斯噪声点数组集合(均值为:2,标准差:0.5)。

另外补充:

1.np.arange(0,1,0.1)产生的是0,0.1~0.9这10个点,要产生 0,0.1~0.9,1的话将里面的1改为1.1就可以了;

2.for i in range(10)也是0到9的十个点;

3.np.linspace(0,1,10)产生的是0,1/9,2/9~1这10个点。因为有0的存在所以是将0到10均分为9分了。若是想产生 0,0.1~0.9,1的化将里面的10设置为11.

本文转载自:CSDN博客

欢迎加入我爱机器学习QQ14群:336582044

微信扫一扫,关注我爱机器学习公众号

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值